安裝PostgreSQL數(shù)據(jù)庫(kù)之后,默認(rèn)是只接受本地訪問(wèn)連接。如果想在其他主機(jī)上訪問(wèn)PostgreSQL數(shù)據(jù)庫(kù)服務(wù)器,就需要進(jìn)行相 應(yīng)的配置。配置遠(yuǎn)程連接PostgreSQL數(shù)據(jù)庫(kù)的步驟很簡(jiǎn)單,只需要修改data目錄下的pg_hba.conf和postgresql.conf, 其中pg_hba.conf是用來(lái)配置對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)權(quán)限,postgresql.conf文件用來(lái)配置PostgreSQL數(shù)據(jù)庫(kù)服務(wù)器的相應(yīng)的參數(shù)。 下面介紹配置的步驟:
我們提供的服務(wù)有:做網(wǎng)站、網(wǎng)站制作、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、渠縣ssl等。為1000+企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢(xún)和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的渠縣網(wǎng)站制作公司
1.修改pg_hba.conf文件,配置用戶(hù)的訪問(wèn)權(quán)限:
# TYPE DATABASE USER CIDR-ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all trust
# IPv4 local connections:
host all all 127.0.0.1/32 trust
host all all 192.168.1.0/24 md5
# IPv6 local connections:
host all all ::1/128 trust
其中紅色標(biāo)識(shí)的內(nèi)容為新添加的內(nèi)容,表示允許網(wǎng)段192.168.1.0上的所有主機(jī)使用所有合法的數(shù)據(jù)庫(kù)用戶(hù)名訪問(wèn)數(shù)據(jù)庫(kù),并提供加密的密碼驗(yàn) 證。在我們的環(huán)境中,我們需要在主機(jī)192.168.1.5上使用postgres用戶(hù)訪問(wèn)192.168.1.9上的PostgreSQL數(shù)據(jù)庫(kù)。
2.修改postgresql.conf文件,將數(shù)據(jù)庫(kù)服務(wù)器的監(jiān)聽(tīng)模式修改為監(jiān)聽(tīng)所有主機(jī)發(fā)出的連接請(qǐng)求。
定位到#listen_addresses='localhost'。PostgreSQL安裝完成后,默認(rèn)是只接受來(lái)在本機(jī)localhost的連接請(qǐng) 求,通過(guò)將改行內(nèi)容修改為listen_addresses='*'來(lái)允許數(shù)據(jù)庫(kù)服務(wù)器監(jiān)聽(tīng)來(lái)自任何主機(jī)的連接請(qǐng)求:
listen_addresses = '*' # what IP address(es) to listen on;
# comma-separated list of addresses;
# defaults to 'localhost', '*' = all
# (change requires restart)
修改之后,保存并退出,然后重起數(shù)據(jù)庫(kù),就可以在在遠(yuǎn)程機(jī)器上訪問(wèn)PostgreSQL數(shù)據(jù)庫(kù)了。
另外,數(shù)據(jù)庫(kù)管理小貼士:
matrix數(shù)據(jù)庫(kù)使用的是PostgreSQL數(shù)據(jù)庫(kù)。你可以安裝一個(gè)類(lèi)似phpmyadmin的管理
PostgreSQL數(shù)據(jù)庫(kù)服務(wù)器,就需要進(jìn)行相應(yīng)的配置。 配置遠(yuǎn) 程連接PostgreSQL數(shù)據(jù)庫(kù)的步驟很簡(jiǎn)單,只需要修改data目錄下的pg_hba.conf和postgresql.conf。 pg_hba.conf:配置對(duì)數(shù)據(jù)庫(kù)的訪問(wèn)權(quán)限, postgresql.conf:配置PostgreSQL數(shù)據(jù)庫(kù)服務(wù)器的相應(yīng)的參數(shù)。 步驟:
1.修改pg_hba.conf文件,配置用戶(hù)的訪問(wèn)權(quán)限(#開(kāi)頭的行是注釋內(nèi)容): # TYPE DATABASE USER CIDR-ADDRESS METHOD # “l(fā)ocal” is for Unix domain socket connections only local all all trust # IPv4 local connections: host all all 127.0.0.1/32 trust host all all 192.168.1.0/24 md5 # IPv6 local connections: host all all ::
1/128 trust 其中,第7條是新添加的內(nèi)容,表示允許網(wǎng)段192.168.1.0上的所有主機(jī)使用所有合法的數(shù)據(jù)庫(kù)用戶(hù)名訪問(wèn)數(shù)據(jù)庫(kù),并提供加密的密碼驗(yàn)證。 其中,數(shù)字24是子網(wǎng)掩碼,表示允許192.168.1.0--192.168.1.255的計(jì)算機(jī)訪問(wèn)!
2.修改postgresql.conf文件,將數(shù)據(jù)庫(kù)服務(wù)器的監(jiān)聽(tīng)模式修改為監(jiān)聽(tīng)所有主機(jī)發(fā)出的連接請(qǐng)求。 定位到#listen_addresses=’localhost’。PostgreSQL安裝完成后,默認(rèn)是只接受來(lái)在本機(jī)localhost的連接請(qǐng) 求。 將行開(kāi)頭都#去掉,將行內(nèi)容修改為listen_addresses=’*‘來(lái)允許數(shù)據(jù)庫(kù)服務(wù)器監(jiān)聽(tīng)來(lái)自任何主機(jī)的連接請(qǐng)求 上面就是Linux設(shè)置PostgreSQL遠(yuǎn)程訪問(wèn)的方法介紹了,如果你不設(shè)置,則PostgreSQL默認(rèn)只能范圍本地,功能比較局限。
Linux服務(wù)器上的PostgreSQL遠(yuǎn)程連接不上
查看一下centos上的防火墻是否開(kāi)著,iptables,如果開(kāi)著關(guān)閉它。
當(dāng)你用pgadmin連接不上時(shí),請(qǐng)去pg_log下看看log信息報(bào)啥錯(cuò)誤。
你還要確定一下,你的centos下/etc/hosts 中對(duì)本機(jī)的定義是否時(shí)pg_hba.conf中的local.
查找本地文件,你可以通過(guò)sql 里的命令執(zhí)行本地的dos 命令。就可以操作本地文件啦,
這個(gè)我沒(méi)操作過(guò),建議性的。
通過(guò)以上設(shè)置后,遠(yuǎn)端及其無(wú)法訪問(wèn)此數(shù)據(jù)庫(kù),因此,需要修改postgreSQL數(shù)據(jù)庫(kù)配置來(lái)實(shí)現(xiàn)遠(yuǎn)程訪問(wèn)。具體操作如下:
修改/opt/postgres/9.1/data/postgresql.conf文件的內(nèi)容:
監(jiān)聽(tīng)任何地址的訪問(wèn),修改連接權(quán)限:
#listen_address = ‘localhost’ 修改為listen_address = ‘*’
啟用密碼驗(yàn)證
#password_encryption = on 修改為 password_encryption = on
修改/opt/postgres/9.1/data/pg_hba.conf文件的內(nèi)容:
可訪問(wèn)的用戶(hù)ip段
在文件末尾加入:host all all 0.0.0.0/0 md5
重啟postgreSQL數(shù)據(jù)庫(kù):sudo /etc/init.d/postgresql-9.1-openscg restart