1. 程式人生 > 資料庫 >PostgreSQL 允許遠端訪問設定的操作

PostgreSQL 允許遠端訪問設定的操作

postgres遠端連線方式配置

配置pg_hba.conf檔案 目錄C:\Program Files\PostgreSQL\9.5\data

(QXY)主機
[postgres@qxy data]$ pwd
/spark/pgsql/data
[postgres@qxy data]$ cat pg_hba.conf
# TYPE DATABASE USER 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
# IPv6 local connections:
host all all ::1/128 trust

在# IPv4 local connections:

下面新增一行,內容為 “host all all 192.168.40.1/24 md5”,代表192.168.40網段的IP地址的所有使用者都可以連線,/24代表網段,如果是/32 需要寫完整的IP地址

新增之後的內容如下:

# “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.40.1/24 md5

2. 修改postgres監聽的IP地址,預設是localhost ---------- 有時候預設就是OK的,可以看看用不用修改

(QXY)主機
postgres@qxy data]$ cat postgresql.conf
# - Connection Settings -
#listen_addresses = ‘localhost'
# what IP address(es) to listen on;
listen_addresses = ‘*'
# what IP address(es) to listen on; <=======新增這行,把localhost改成*,監聽所有的IP
# comma-separated list of addresses;
# defaults to ‘localhost'; use ‘*' for all
# (change requires restart)

3.重新啟動postgres 服務

在service服務list中重啟: postgresql-x64-9.5

4. 大功告成,遠端測試下連線postgresDB吧

補充:PostgreSql允許postgres使用者在一個特定的IP進行遠端登入,並具有所有庫任何操作許可權

1.pgsql允許遠端訪問:

安裝PostgreSQL資料庫之後,預設是隻接受本地訪問連線。如果想在其他主機上訪問PostgreSQL資料庫伺服器,就需要進行相應的配置。

a.如果是windows安裝的postgresql,配置遠 程連線PostgreSQL資料庫的步驟很簡單,只需要修改安裝目錄data資料夾下的pg_hba.conf和postgresql.conf。

PostgreSQL 允許遠端訪問設定的操作

b.如果是linux上安裝的postgresql,同樣是修改是這兩個檔案:

檔案位置:

cd /etc/postgresql/9.3/main/

PostgreSQL 允許遠端訪問設定的操作

2.修改pg_hba.conf檔案,配置使用者的訪問許可權(#開頭的行是註釋內容):

# Database administrative login by Unix domain socket
local  all       postgres                peer
# TYPE DATABASE    USER      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       222.73.203.68/24        trust
# IPv6 local connections:
host  all       all       ::1/128         trust
# Allow replication connections from localhost,by a user with the
# replication privilege.
#local  replication   postgres                peer
#host  replication   postgres    127.0.0.1/32      md5
#host  replication   postgres    ::1/128         md5

其中,第10條是新新增的內容,表示允許網段 222.73.203.68上的這個特定主機使用所有合法的資料庫使用者名稱訪問資料庫。

如果允許所有主機訪問,不需要特別嚴格的許可權控制時,可以直接將第10行,IPv4中換成:

host all all 0.0.0.0/0 trust 即可

3.修改postgresql.conf檔案,將資料庫伺服器的監聽模式修改為監聽所有主機發出的連線請求:

定位到#listen_addresses='localhost'。PostgreSQL安裝完成後,預設是隻接受來在本機localhost的連線請 求。

將行開頭都#去掉,將行內容修改為listen_addresses='*'來允許資料庫伺服器監聽來自任何主機的連線請求

4.檢視postgresql預設埠號:(一般預設埠號是:5432)

PostgreSQL 允許遠端訪問設定的操作

5.檢視防火強狀態:

PostgreSQL 允許遠端訪問設定的操作

如果防火牆active是開啟狀態,允許5432埠入站:

PostgreSQL 允許遠端訪問設定的操作

檢視防火牆狀態,檢視5432埠是否增加成功:

PostgreSQL 允許遠端訪問設定的操作

6.回到 222.73.203.68這臺機器上的客戶端就可以對所要遠端機器上的資料庫進行遠端訪問了

PostgreSQL 允許遠端訪問設定的操作

以上為個人經驗,希望能給大家一個參考,也希望大家多多支援我們。如有錯誤或未考慮完全的地方,望不吝賜教。