Ubuntu PostgreSQL网络配置指南
导读:Ubuntu PostgreSQL 网络配置指南 本指南涵盖 Ubuntu 系统下 PostgreSQL 的网络配置核心步骤,包括本地服务验证、远程访问启用、防火墙设置及 pgAdmin 客户端连接配置,帮助您快速搭建安全、可访问的 Pos...
Ubuntu PostgreSQL 网络配置指南
本指南涵盖 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 监听网络接口
默认情况下,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
- 在文件末尾添加以下行(允许所有 IP 通过 MD5 密码认证访问所有数据库):
安全建议:若仅需允许特定 IP 段(如公司内网host all all 0.0.0.0/0 md5
192.168.1.0/24
),可将0.0.0.0/0
替换为具体网段,减少安全风险。 - 保存文件并退出。
四、重启 PostgreSQL 服务
修改配置后,需重启服务使更改生效:
sudo systemctl restart postgresql
五、配置防火墙规则
若系统启用了 UFW(Uncomplicated Firewall),需允许 PostgreSQL 默认端口(5432)的 TCP 流量:
# 允许 5432 端口通过防火墙
sudo ufw allow 5432/tcp
# 重新加载防火墙规则
sudo ufw reload
# 检查防火墙状态(确认 5432 端口已开放)
sudo ufw status
六、配置 pgAdmin 客户端连接
pgAdmin 是常用的 PostgreSQL 图形化管理工具,需通过以下步骤配置远程连接:
- 安装 pgAdmin(若未安装):
sudo apt install pgadmin4
- 启动 pgAdmin 并登录(默认通过浏览器访问
http://localhost:5050
,使用邮件地址和密码登录)。 - 右键点击左侧面板 “Servers” → 选择 “Create” → “Server…”。
- 在 “General” 选项卡中输入服务器名称(如 “Remote PostgreSQL Server”)。
- 切换至 “Connection” 选项卡,填写以下信息:
- Host name/address:PostgreSQL 服务器的 IP 地址或主机名(如
192.168.1.100
或example.com
); - Port:PostgreSQL 端口(默认
5432
); - Maintenance database:维护数据库(通常为
postgres
); - Username:PostgreSQL 用户名(如
postgres
); - Password:该用户的密码(需提前通过
sudo -u postgres psql
命令设置,如ALTER USER postgres WITH ENCRYPTED PASSWORD 'your_password';
)。
- Host name/address:PostgreSQL 服务器的 IP 地址或主机名(如
- 点击 “Save” 保存配置,随后可展开服务器节点并管理数据库。
七、安全注意事项
- 限制访问范围:避免使用
listen_addresses = '*'
,优先指定服务器 IP 或信任的 IP 段(如192.168.1.0/24
); - 使用强密码:为 PostgreSQL 用户(尤其是
postgres
超级用户)设置复杂密码,避免使用默认密码; - 启用 SSL 加密:修改
postgresql.conf
中的ssl = on
,并配置证书,确保远程连接的数据传输安全; - 定期更新软件:保持 PostgreSQL、pgAdmin 及系统内核的最新版本,修复已知安全漏洞。
通过以上步骤,您已完成 Ubuntu 系统下 PostgreSQL 的网络配置,可实现本地及远程访问。若遇到连接问题,可通过 sudo netstat -plnt | grep postgres
检查端口监听状态,或查看 PostgreSQL 日志(/var/log/postgresql/postgresql-<
version>
-main.log
)定位错误原因。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu PostgreSQL网络配置指南
本文地址: https://pptw.com/jishu/722103.html