Debian中PostgreSQL數(shù)據(jù)庫(kù)安裝配置實(shí)例
用慣了MySQL后,想嘗試使用下PostgreSQL,據(jù)說(shuō)這玩意兒也很強(qiáng)大,我在網(wǎng)上搜索了下相關(guān)中文書(shū)籍,可惜相關(guān)書(shū)籍遠(yuǎn)遠(yuǎn)沒(méi)有MySQL那么多,不過(guò)我在官方找到了由志愿者翻譯的文檔(參考9.1文檔翻譯項(xiàng)目),說(shuō)實(shí)話我英文文檔閱讀能力還是比較糾結(jié)的,所以有中文文檔當(dāng)然優(yōu)先中文了。
在Debian下可以通過(guò)apt-get命令直接安裝:
sudo apt-get install postgresql postgresql-client postgresql-server-dev-all
安裝完成后,PostgreSQL默認(rèn)就創(chuàng)建了名為postgres用戶,這個(gè)和MySQL的root以及SQL Server的sa賬戶一樣,是超級(jí)管理員賬戶,與MySQL不一樣的是,其還創(chuàng)建了postgres的Unix系統(tǒng)賬戶,和SQL Server的master數(shù)據(jù)庫(kù)一樣,PostgreSQL的默認(rèn)數(shù)據(jù)庫(kù)是template1,你可以用命令行管理工具psql來(lái)管理它,當(dāng)然前提是要切換到postgres的系統(tǒng)賬戶:
# su - postgres
$ psql
或者你可以通過(guò)sudo來(lái)一步到位的以postgres身份運(yùn)行psql,省得切換來(lái)切換去:
完成上述命令后你就應(yīng)該可以看到操作數(shù)據(jù)庫(kù)的命令界面了,注意\q是退出命令,每句SQL語(yǔ)句以英文分號(hào)結(jié)束。如果要連接指定的數(shù)據(jù)庫(kù)請(qǐng)使用形如\c databasename的命令。
好,讓我們輸入\q先退出這個(gè)命令界面,接下來(lái)我們需要?jiǎng)?chuàng)建一個(gè)普通賬戶,因?yàn)榻ㄗh不直接用超級(jí)管理員postgres賬戶來(lái)操作我們自己的數(shù)據(jù)庫(kù)。
首先創(chuàng)建名為mypguser的系統(tǒng)賬戶。
其次使用postgres連接template1并進(jìn)入psql命令界面:
創(chuàng)建新的數(shù)據(jù)庫(kù)用戶、新數(shù)據(jù)庫(kù),并賦予新用戶新數(shù)據(jù)庫(kù)的全部權(quán)限:
postgres=# CREATE DATABASE mypgdatabase;
postgres=# GRANT ALL PRIVILEGES ON DATABASE mypgdatabase to mypguser;
當(dāng)然上述的操作可以分別以shell命令createuser mypguser以及createdb mypgdatabase來(lái)實(shí)現(xiàn):
# createuser mypguser #from regular shell
# su - mypguser
$ psql postgres
postgres=# CREATE DATABASE mypgdatabase;
完成這些后讓我們使用\q命令退出psql控制臺(tái)。
下面我們就可以用指定賬戶管理我們的數(shù)據(jù)庫(kù)了:
sudo su mypguser -c 'psql -d mypgdatabase'
等等,我們還有最重要的一步就是重置我們的postgres賬戶密碼,通過(guò)下面的命令:
sudo su postgres -c psql template1
template1=# ALTER USER postgres WITH PASSWORD 'yourpassword'
template1=# \q
不要忘了還有系統(tǒng)賬戶的密碼:
好了,到這里簡(jiǎn)單的安裝及創(chuàng)建賬戶已經(jīng)講解完畢了,介紹一下可能的錯(cuò)誤:
如果出現(xiàn)下面的錯(cuò)誤:
psql: FATAL: Ident authentication failed for user "mypguser"
請(qǐng)編輯你的pg_hba.conf,這個(gè)文件一般位于/etc/postgresql/X.Y/main/pg_hba.conf,X.Y是你的PostgreSQL的版本號(hào),將下面行的peer改為trust:
如果出現(xiàn)下面的錯(cuò)誤:
psql: FATAL: Peer authentication failed for user "mypguser"
請(qǐng)仍然修改pg_hba.conf文件,該下面行的peer為md5:
完成上面的修改后請(qǐng)重新加載postgresql:
/etc/init.d/postgresql reload
相關(guān)文章
查看postgresql數(shù)據(jù)庫(kù)用戶系統(tǒng)權(quán)限、對(duì)象權(quán)限的方法
這篇文章主要介紹了查看postgresql數(shù)據(jù)庫(kù)用戶系統(tǒng)權(quán)限、對(duì)象權(quán)限的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12
PostgreSQL 如何查找需要收集的vacuum 表信息
這篇文章主要介紹了PostgreSQL 如何查找需要收集的vacuum 表信息,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-02-02
淺談Postgresql默認(rèn)端口5432你所不知道的一點(diǎn)
這篇文章主要介紹了淺談Postgresql默認(rèn)端口5432你所不知道的一點(diǎn),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-01-01
PostgreSQL 數(shù)據(jù)庫(kù)跨版本升級(jí)常用方案解析
這篇文章主要介紹了PostgreSQL 數(shù)據(jù)庫(kù)跨版本升級(jí)常用方案解析,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03
PostgreSQL因大量并發(fā)插入導(dǎo)致的主鍵沖突的解決方案
在數(shù)據(jù)庫(kù)操作中,并發(fā)插入是一個(gè)常見(jiàn)的場(chǎng)景,然而,當(dāng)大量并發(fā)插入操作同時(shí)進(jìn)行時(shí),可能會(huì)遇到主鍵沖突的問(wèn)題,本文將深入探討 PostgreSQL 中解決因大量并發(fā)插入導(dǎo)致的主鍵沖突的方法,并通過(guò)具體的示例進(jìn)行詳細(xì)說(shuō)明,需要的朋友可以參考下2024-07-07
PostgreSQL數(shù)據(jù)庫(kù)儲(chǔ)存空間不足的解決方案
在使用 PostgreSQL 數(shù)據(jù)庫(kù)時(shí),可能會(huì)遇到存儲(chǔ)空間不足的問(wèn)題,這個(gè)問(wèn)題不僅會(huì)影響數(shù)據(jù)庫(kù)的正常運(yùn)行,還可能導(dǎo)致數(shù)據(jù)丟失或應(yīng)用程序出現(xiàn)故障,因此,了解如何應(yīng)對(duì)這種情況至關(guān)重要,所以本文給大家就介紹了PostgreSQL數(shù)據(jù)庫(kù)儲(chǔ)存空間不足的解決方案,需要的朋友可以參考下2024-07-07
PostgreSQL使用SQL實(shí)現(xiàn)俄羅斯方塊的示例
基于PostgreSQL實(shí)現(xiàn)的俄羅斯方塊游戲項(xiàng)目Tetris-SQL,通過(guò)純SQL代碼和數(shù)據(jù)庫(kù)操作重構(gòu)了經(jīng)典游戲邏輯,展現(xiàn)了SQL語(yǔ)言的圖靈完備性和技術(shù)潛力,本文介紹PostgreSQL使用SQL實(shí)現(xiàn)俄羅斯方塊的示例,感興趣的朋友一起看看吧2022-04-04

