Ubuntu中PostgreSQL的网络配置如何进行
导读:Ubuntu中PostgreSQL网络配置指南 PostgreSQL的网络配置主要涉及允许远程访问、调整监听端口、配置防火墙及客户端连接设置等环节,以下是详细步骤: 1. 修改PostgreSQL监听地址(允许远程连接) PostgreSQ...
Ubuntu中PostgreSQL网络配置指南
PostgreSQL的网络配置主要涉及允许远程访问、调整监听端口、配置防火墙及客户端连接设置等环节,以下是详细步骤:
1. 修改PostgreSQL监听地址(允许远程连接)
PostgreSQL默认仅监听本地接口(localhost),需修改配置文件以允许远程IP访问。
- 打开配置文件:
其中sudo nano /etc/postgresql/< version> /main/postgresql.conf< version>为PostgreSQL版本号(如16)。 - 找到
listen_addresses参数,将其值从localhost或127.0.0.1修改为*(允许所有IP连接):listen_addresses = '*' - 保存文件并退出(
Ctrl+O→Enter→Ctrl+X)。
2. 配置客户端认证方式(允许密码登录)
需修改pg_hba.conf文件,添加允许远程IP通过密码认证访问的规则。
- 打开配置文件:
sudo nano /etc/postgresql/< version> /main/pg_hba.conf - 在文件末尾添加以下行(允许所有IP通过
md5密码认证访问所有数据库):
若需限制特定IP段(如host all all 0.0.0.0/0 md5192.168.1.0/24),可将0.0.0.0/0替换为192.168.1.0/24。
3. 重启PostgreSQL服务使配置生效
修改配置后,需重启服务以应用更改:
sudo systemctl restart postgresql
可通过以下命令验证服务状态:
sudo systemctl status postgresql
若显示active (running),则表示服务已正常启动。
4. 配置防火墙(放行PostgreSQL端口)
Ubuntu默认使用ufw防火墙,需允许PostgreSQL的默认端口(5432)通过:
sudo ufw allow 5432/tcp
验证防火墙规则是否生效:
sudo ufw status
应显示5432/tcp为ALLOW状态。
5. 设置PostgreSQL用户密码(远程连接必需)
默认的postgres用户密码为空或随机生成,需修改为强密码:
- 切换到
postgres用户:sudo -u postgres psql - 在PostgreSQL命令行中,修改
postgres用户密码:ALTER USER postgres WITH ENCRYPTED PASSWORD 'your_secure_password'; - 输入
\q退出PostgreSQL命令行。
6. (可选)修改PostgreSQL默认端口
若需更改默认端口(如改为5433),可修改postgresql.conf文件:
- 打开配置文件:
sudo nano /etc/postgresql/< version> /main/postgresql.conf - 找到
port参数,修改为所需端口:port = 5433 - 保存文件并重启服务:
sudo systemctl restart postgresql - 更新防火墙规则,放行新端口:
sudo ufw allow 5433/tcp
7. 验证远程连接
使用psql命令或pgAdmin等客户端工具,从远程机器连接PostgreSQL:
psql -h <
server_ip>
-U postgres -d postgres -p 5432
输入密码后,若成功进入PostgreSQL命令行,则表示网络配置生效。
注意事项:
- 生产环境中,建议限制
pg_hba.conf中的CIDR-ADDRESS(如仅允许公司IP段访问),而非使用0.0.0.0/0。 - 定期更新PostgreSQL版本,修复安全漏洞。
- 为用户设置复杂密码,避免使用默认密码。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu中PostgreSQL的网络配置如何进行
本文地址: https://pptw.com/jishu/742964.html
