【Postgresql】Linux Centos7安裝Postgresql


前言:
centos7默認的安裝源里面自帶了postgresql,我們可以不用下載postgresql安裝包或者升級安裝源,只不過自帶的postgresql版本比較低,這里CentOS Linux release 7.2.1511(Core)系統,添加網易163的源之后,自帶的postgresql是9.2版本,這里介紹如何通過yum安裝postgresql以及安裝之后的設置。默認安裝之后,只會監聽本機127.0.0.1地址,開啟5432端口,而且只容許postgres用戶登錄。為了讓遠程客戶端能夠連接,我們需要修改配置監聽地址改為"*"(postgresql.conf文件中),即監聽所有地址。為了在本地無需切換到postgres用戶就可以登錄,我們需要增加在postgresql配置文件pg_hba.conf配置文件中修改peer為trust,即登錄用戶是可信的,無需驗證權限,為了讓外部主機可以登錄,還需要增加一行配置信息。
查看操作系統:

[root@localhost data]# cat /etc/redhat-release 
CentOS Linux release 7.2.1511 (Core) 

檢查安裝源:

yum search postgresql

安裝:

yum install postgresql-server


安裝postgresql-server會附帶安裝上postgres客戶端,因此不必重復安裝。安裝完成,postgresql操作相關的命令都會添加到/usr/bin目錄下,可以在命令行下直接使用。

[root@localhost /]# which psql
/usr/bin/psql
[root@localhost /]# which postgresql-setup
/usr/bin/postgresql-setup
[root@localhost /]# whereis postgresql-setup
postgresql-setup: /usr/bin/postgresql-setup /usr/share/man/man1/postgresql-setup.1.gz

同時,還會生成postgres用戶,postgresql啟動之后,在本機只能切換到postgres用戶下才可以通過psql訪問。
初始化數據庫:

[root@localhost bin]# postgresql-setup initdb
Initializing database ... OK

檢查一下數據庫存儲路徑:

啟動數據庫:

service postgresql start


啟動成功,會監聽本機127.0.0.1的5432端口。
登錄測試:
默認情況下,我們使用psql postgres命令登錄,使用的是root用戶,會提示沒有這個角色,我們按照提示使用psql -U postgres命令登錄,發現提示Peer authentication failed for user "postgres",我們只能切換到postgres用戶,然后直接登錄:

需要解決root用戶下無法通過psql -U postgres登錄的問題,我們需要修改配置文件pg_hba.conf,將

#local    all    all    peer
修改為:
local    all    all    trust

另外,我們需要讓外部IP能夠連接本機的postgresql,我們需要修改postgresql.conf配置文件中的listen_addresses屬性為"*",並且在pg_hba.conf配置文件中新增一行配置:

host    all    all    0.0.0.0/0    md5

修改配置:
配置文件經過初始化之后,全部會生成在/var/lib/pgsql/data目錄下:

編輯postgresql.conf文件,修改監聽地址:

再次啟動數據庫:
修改成功之后,重啟數據庫服務,監聽本機地址發生變化,不再是127.0.0.1了。

登錄測試:
本地可以在root用戶下使用psql -U postgres直接登錄了,不會報錯。

遠程連接測試:
安裝postgresql就是為了讓外部能夠連接的,這里安裝之前,需要修改postgres用戶的密碼,在本機,修改密碼有兩種方式:直接\password 的方式和通過alter user postgres with password 'postgres'語句:

遠程登錄的時候,我們需要用戶名和密碼,這里在windows上使用navicat premium:

至此,安裝過程就徹底結束了~ 后續數據庫操作請看下篇博客...


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM