ubuntu

Ubuntu PostgreSQL网络配置要点

小樊
35
2025-11-09 04:21:58
栏目: 云计算

1. 修改PostgreSQL监听配置(postgresql.conf)
要允许PostgreSQL接受网络连接,需调整其监听地址设置。编辑配置文件/etc/postgresql/<version>/main/postgresql.conf<version>为PostgreSQL版本号,如16),找到listen_addresses参数,将其值从默认的localhost127.0.0.1修改为*(允许所有IP地址连接)或指定具体IP(如192.168.1.100,仅允许特定服务器访问)。同时,确认port参数为默认的5432(或根据需求修改为其他未被占用的端口)。修改完成后保存文件。

2. 配置客户端认证规则(pg_hba.conf)
PostgreSQL通过pg_hba.conf文件控制客户端访问权限。编辑/etc/postgresql/<version>/main/pg_hba.conf,在文件末尾添加允许远程连接的规则。常见配置为:host all all 0.0.0.0/0 md5(允许所有IP地址通过MD5加密密码认证访问所有数据库);若需限制特定IP段(如192.168.1.0/24),可将0.0.0.0/0替换为192.168.1.0/24。修改后保存文件。

3. 重启PostgreSQL服务使配置生效
修改配置文件后,需重启PostgreSQL服务以应用更改。执行命令:sudo systemctl restart postgresql。可通过sudo systemctl status postgresql检查服务状态,确认显示为active (running)则表示重启成功。

4. 配置Ubuntu防火墙(UFW)
若系统启用了UFW防火墙,需放行PostgreSQL的默认端口(5432),允许外部流量访问。执行命令:sudo ufw allow 5432/tcp,然后重新加载防火墙规则:sudo ufw reload。可通过sudo ufw status验证端口是否已放行。

5. 设置PostgreSQL用户密码
默认情况下,PostgreSQL的postgres用户密码为空或随机生成,需为其设置强密码。执行命令:sudo -u postgres psql进入PostgreSQL命令行,然后输入:ALTER USER postgres WITH ENCRYPTED PASSWORD 'your_secure_password';(将your_secure_password替换为复杂密码,如包含大小写字母、数字和符号的组合)。输入\q退出命令行。

6. 验证远程连接(可选)
可使用psql命令行工具或pgAdmin等客户端验证远程连接。例如,在另一台机器上执行:psql -h <server_ip> -U postgres -d postgres<server_ip>为PostgreSQL服务器的IP地址),输入密码后若能成功登录,则说明网络配置生效。

7. 安全增强建议

0
看了该问题的人还看了