一、安裝PostgreSQL與pgAdmin
在Ubuntu終端執行以下命令,安裝PostgreSQL數據庫及pgAdmin管理工具:
sudo apt update
sudo apt install postgresql pgadmin4
安裝完成后,PostgreSQL服務會自動啟動;若未啟動,可通過sudo systemctl start postgresql
手動開啟。
二、配置PostgreSQL允許遠程連接
要實現遠程訪問,需修改PostgreSQL的兩項核心配置:
postgresql.conf
(開啟遠程監聽)使用文本編輯器打開配置文件(路徑隨PostgreSQL版本變化,如/etc/postgresql/14/main/postgresql.conf
),找到listen_addresses
參數,將其修改為允許所有IP連接或指定服務器IP:
listen_addresses = '*' # 允許所有IP;若需限制特定IP,替換為具體地址(如'192.168.1.100')
保存并關閉文件。
pg_hba.conf
(配置訪問權限)打開pg_hba.conf
文件(通常位于/etc/postgresql/<version>/main/
目錄下),在文件末尾添加以下行,允許遠程客戶端通過密碼驗證連接:
host all all 0.0.0.0/0 md5 # 允許所有IP(IPv4);若需支持IPv6,添加“::/0”
注意:md5
表示使用密碼加密驗證,如需更高安全性,可替換為scram-sha-256
(需PostgreSQL 10及以上版本)。
保存文件后,重啟PostgreSQL服務使配置生效:
sudo systemctl restart postgresql
三、配置防火墻允許PostgreSQL端口
PostgreSQL默認使用5432端口,需確保防火墻放行該端口:
ufw
防火墻(Ubuntu默認)sudo ufw allow 5432/tcp # 允許TCP協議的5432端口
sudo ufw reload # 重新加載防火墻規則
iptables
防火墻sudo iptables -A INPUT -p tcp --dport 5432 -j ACCEPT # 添加允許規則
sudo service iptables save # 保存規則(部分系統可能需要)
firewalld
防火墻sudo firewall-cmd --zone=public --add-port=5432/tcp --permanent # 永久添加端口
sudo firewall-cmd --reload # 重新加載防火墻
四、配置pgAdmin連接遠程數據庫
pgadmin4
。123.45.67.89
);5432
,若修改過需填寫新端口);postgres
,PostgreSQL默認創建的系統數據庫);postgres
,默認超級用戶);ALTER USER
命令設置的密碼一致)。五、安全注意事項
0.0.0.0/0
(允許所有IP),建議替換為實際客戶端的IP段(如192.168.1.0/24
),降低被攻擊風險;postgresql.conf
中啟用SSL(ssl = on
),并在pgAdmin連接時配置SSL證書。