[英]How to Allow Remote Access to PostgreSQL database
我在 Windows 7 中安裝了 PostgreSQL 9.2,在虛擬機中安裝了 Windows XP,如何連接這兩個數據庫並允許遠程訪問以從兩個系統添加/編輯數據庫?
為了遠程訪問 PostgreSQL 數據庫,您必須設置兩個主要的 PostgreSQL 配置文件:
配置文件
pg_hba.conf
這里是關於如何設置它們的簡要說明(請注意,以下說明純粹是指示性的:要安全地配置機器,您必須熟悉所有參數及其含義)
首先配置 PostgreSQL 服務以偵聽 Windows 7 機器上所有網絡接口上的端口 5432:
打開文件postgresql.conf
(通常位於C:\\Program Files\\PostgreSQL\\9.2\\data)並設置參數
listen_addresses = '*'
檢查WindowsXP虛擬機的網絡地址,並在pg_hba.conf文件(與postgresql.conf同目錄)中設置參數,使postgresql可以接受來自虛擬機主機的連接。
例如,如果Windows XP的機器有192.168.56.2 IP地址,則在pg_hba.conf
文件中添加:
host all all 192.168.56.1/24 md5
這樣,PostgreSQL 將接受來自網絡 192.168.1.XXX 上所有主機的連接。
在 Windows 7 中重新啟動 PostgreSQL 服務(服務-> PosgreSQL 9.2:右鍵單擊並重新啟動服務)。 在 Windows XP 機器上安裝 pgAdmin 並嘗試連接到 PostgreSQL。
在postgresql.conf 中設置listen_addresses = '*'
后
編輯pg_hba.conf文件並在文件的最后添加以下條目:
host all all 0.0.0.0/0 md5
host all all ::/0 md5
要查找配置文件, 此鏈接可能對您有所幫助。
除了上述建議 (1) 修改配置文件 pg_hba.conf 和 (2) postgresql.conf 和 (3) 重新啟動 PostgreSQL 服務之外,某些 Windows 計算機可能還需要在端口上允許傳入 TCP 流量(通常為5432
)。
為此,您需要打開 Windows 防火牆並為端口添加入站規則(例如 5432)。
前往控制面板\\系統和安全\\Windows Defender 防火牆 > 高級設置 > 操作(右側選項卡)> 入站規則 > 新規則... > 端口 > 特定本地端口並輸入您使用的端口,通常為 5432 > (默認設置為休息並輸入您喜歡的任何名稱)
現在,嘗試從客戶端計算機上的 pgAdmin 再次連接。 不需要重新啟動服務。
您必須將其添加到 pg_hba.conf 並重新啟動 PostgreSQL。
托管所有所有 192.168.56.1/24 md5
這適用於 VirtualBox 和僅主機適配器啟用。 如果您不使用 Virtualbox,則必須替換 IP 地址。
這是針對您使用 AWS 雲計算(EC2 或 RDS 機器)的特定情況的補充答案。
除了執行上面建議的所有操作之外,在使用 AWS 雲計算時,您還需要以一種允許您訪問端口的方式設置入站規則。 請查看這篇文章,它對 EC2 和 RDS 有效。
對於 PostgreSQL 13,出於某種原因,我無法對遠程連接使用 scram-sha-256 加密。 這奏效了。
# TYPE DATABASE USER ADDRESS METHOD
local all all scram-sha-256 # "local" is for Unix domain socket connections only
host all all 127.0.0.1/32 scram-sha-256 # IPv4 local connections:
host all all ::1/128 scram-sha-256 # IPv6 local connections
local replication all scram-sha-256 # Allow replication connections from localhost, by a user with the replication privilege.
host replication all 127.0.0.1/32 scram-sha-256
host replication all ::1/128 scram-sha-256
host all all 0.0.0.0/0 trust # <---------- remote connections
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.