本指南涵盖 Ubuntu 系统下 PostgreSQL 的网络配置核心步骤,包括本地服务验证、远程访问启用、防火墙设置及 pgAdmin 客户端连接配置,帮助您快速搭建安全、可访问的 PostgreSQL 数据库环境。
确保 PostgreSQL 服务已安装并运行:
# 更新软件包索引
sudo apt update
# 安装 PostgreSQL(默认安装最新稳定版)
sudo apt install postgresql postgresql-contrib
# 启动 PostgreSQL 服务
sudo systemctl start postgresql
# 设置开机自启
sudo systemctl enable postgresql
# 检查服务状态(应为 "active (running)")
sudo systemctl status postgresql
默认情况下,PostgreSQL 仅监听本地连接(localhost)。需修改配置文件以允许远程访问:
postgresql.conf 文件(路径随版本变化,如 /etc/postgresql/16/main/postgresql.conf):sudo nano /etc/postgresql/<version>/main/postgresql.conf
#listen_addresses = 'localhost' 行,取消注释并将值改为 *(允许所有 IP 连接)或指定服务器 IP(如 192.168.1.100,仅允许特定 IP 连接):listen_addresses = '*'
Ctrl+O → Enter → Ctrl+X)。PostgreSQL 通过 pg_hba.conf 文件控制客户端认证方式。需添加规则允许远程主机通过密码认证连接:
pg_hba.conf 文件(与 postgresql.conf 同目录):sudo nano /etc/postgresql/<version>/main/pg_hba.conf
host all all 0.0.0.0/0 md5
安全建议:若仅需允许特定 IP 段(如公司内网 192.168.1.0/24),可将 0.0.0.0/0 替换为具体网段,减少安全风险。修改配置后,需重启服务使更改生效:
sudo systemctl restart postgresql
若系统启用了 UFW(Uncomplicated Firewall),需允许 PostgreSQL 默认端口(5432)的 TCP 流量:
# 允许 5432 端口通过防火墙
sudo ufw allow 5432/tcp
# 重新加载防火墙规则
sudo ufw reload
# 检查防火墙状态(确认 5432 端口已开放)
sudo ufw status
pgAdmin 是常用的 PostgreSQL 图形化管理工具,需通过以下步骤配置远程连接:
sudo apt install pgadmin4
http://localhost:5050,使用邮件地址和密码登录)。192.168.1.100 或 example.com);5432);postgres);postgres);sudo -u postgres psql 命令设置,如 ALTER USER postgres WITH ENCRYPTED PASSWORD 'your_password';)。listen_addresses = '*',优先指定服务器 IP 或信任的 IP 段(如 192.168.1.0/24);postgres 超级用户)设置复杂密码,避免使用默认密码;postgresql.conf 中的 ssl = on,并配置证书,确保远程连接的数据传输安全;通过以上步骤,您已完成 Ubuntu 系统下 PostgreSQL 的网络配置,可实现本地及远程访问。若遇到连接问题,可通过 sudo netstat -plnt | grep postgres 检查端口监听状态,或查看 PostgreSQL 日志(/var/log/postgresql/postgresql-<version>-main.log)定位错误原因。