Debian中PostgreSQL數(shù)據庫安裝配置實例
用慣了MySQL后,想嘗試使用下PostgreSQL,據說這玩意兒也很強大,我在網上搜索了下相關中文書籍,可惜相關書籍遠遠沒有MySQL那么多,不過我在官方找到了由志愿者翻譯的文檔(參考9.1文檔翻譯項目),說實話我英文文檔閱讀能力還是比較糾結的,所以有中文文檔當然優(yōu)先中文了。
在Debian下可以通過apt-get命令直接安裝:
sudo apt-get install postgresql postgresql-client postgresql-server-dev-all
安裝完成后,PostgreSQL默認就創(chuàng)建了名為postgres用戶,這個和MySQL的root以及SQL Server的sa賬戶一樣,是超級管理員賬戶,與MySQL不一樣的是,其還創(chuàng)建了postgres的Unix系統(tǒng)賬戶,和SQL Server的master數(shù)據庫一樣,PostgreSQL的默認數(shù)據庫是template1,你可以用命令行管理工具psql來管理它,當然前提是要切換到postgres的系統(tǒng)賬戶:
# su - postgres
$ psql
或者你可以通過sudo來一步到位的以postgres身份運行psql,省得切換來切換去:
完成上述命令后你就應該可以看到操作數(shù)據庫的命令界面了,注意\q是退出命令,每句SQL語句以英文分號結束。如果要連接指定的數(shù)據庫請使用形如\c databasename的命令。
好,讓我們輸入\q先退出這個命令界面,接下來我們需要創(chuàng)建一個普通賬戶,因為建議不直接用超級管理員postgres賬戶來操作我們自己的數(shù)據庫。
首先創(chuàng)建名為mypguser的系統(tǒng)賬戶。
其次使用postgres連接template1并進入psql命令界面:
創(chuàng)建新的數(shù)據庫用戶、新數(shù)據庫,并賦予新用戶新數(shù)據庫的全部權限:
postgres=# CREATE DATABASE mypgdatabase;
postgres=# GRANT ALL PRIVILEGES ON DATABASE mypgdatabase to mypguser;
當然上述的操作可以分別以shell命令createuser mypguser以及createdb mypgdatabase來實現(xiàn):
# createuser mypguser #from regular shell
# su - mypguser
$ psql postgres
postgres=# CREATE DATABASE mypgdatabase;
完成這些后讓我們使用\q命令退出psql控制臺。
下面我們就可以用指定賬戶管理我們的數(shù)據庫了:
sudo su mypguser -c 'psql -d mypgdatabase'
等等,我們還有最重要的一步就是重置我們的postgres賬戶密碼,通過下面的命令:
sudo su postgres -c psql template1
template1=# ALTER USER postgres WITH PASSWORD 'yourpassword'
template1=# \q
不要忘了還有系統(tǒng)賬戶的密碼:
好了,到這里簡單的安裝及創(chuàng)建賬戶已經講解完畢了,介紹一下可能的錯誤:
如果出現(xiàn)下面的錯誤:
psql: FATAL: Ident authentication failed for user "mypguser"
請編輯你的pg_hba.conf,這個文件一般位于/etc/postgresql/X.Y/main/pg_hba.conf,X.Y是你的PostgreSQL的版本號,將下面行的peer改為trust:
如果出現(xiàn)下面的錯誤:
psql: FATAL: Peer authentication failed for user "mypguser"
請仍然修改pg_hba.conf文件,該下面行的peer為md5:
完成上面的修改后請重新加載postgresql:
/etc/init.d/postgresql reload
相關文章
Postgresql的pl/pgql使用操作--將多條執(zhí)行語句作為一個事務
這篇文章主要介紹了Postgresql的pl/pgql使用操作--將多條執(zhí)行語句作為一個事務,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01postgresql兼容MySQL on update current_timestamp
這篇文章主要介紹了postgresql兼容MySQL on update current_timestamp問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-03-03Linux 上 定時備份postgresql 數(shù)據庫的方法
這篇文章主要介紹了Linux 上 定時備份postgresql 數(shù)據庫的方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-02-02Postgresql 跨庫同步表及postgres_fdw的用法說明
這篇文章主要介紹了Postgresql 跨庫同步表及postgres_fdw的用法說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01基于PostgreSQL的時序數(shù)據庫TimescaleDB的基本用法和概念
時序數(shù)據是指按照時間順序存儲的數(shù)據,TimescaleDB是一個開源的、擴展了PostgreSQL的時序數(shù)據庫擴展,本文就給大家詳細的介紹一下基于PostgreSQL的時序數(shù)據庫TimescaleDB的基本用法和概念,需要的朋友可以參考下2023-06-06