1. PostgreSQL远程连接配置实战指南
作为一名长期使用PostgreSQL管理Odoo系统的DBA,我经常需要配置数据库的远程访问功能。虽然PostgreSQL默认出于安全考虑仅允许本地连接,但在实际开发和管理中,远程连接的需求非常普遍。本文将基于Ubuntu/Debian系统,详细讲解如何安全地配置PostgreSQL 14的远程访问功能。
重要提示:本文所有配置均以开发环境为例,生产环境请务必遵循文末的安全建议进行调整。
1.1 环境准备与前置检查
在开始配置前,我们需要确认几个关键信息:
- PostgreSQL安装状态:
bash复制sudo -u postgres psql -c "SELECT version();"
这个命令不仅能确认PostgreSQL是否安装,还能显示具体版本号。在我的案例中,使用的是PostgreSQL 14.0。
- 网络环境:
- 服务器IP:192.168.239.128(请替换为你实际的服务器IP)
- 客户端IP段:192.168.239.0/24
- 默认端口:5432
- 防火墙状态:
bash复制sudo ufw status
如果防火墙处于激活状态,后续需要特别处理端口开放问题。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 核心配置步骤详解
2.1 修改监听地址配置
PostgreSQL的主配置文件通常位于/etc/postgresql/[版本号]/main/postgresql.conf。以14版本为例:
bash复制sudo nano /etc/postgresql/14/main/postgresql.conf
找到listen_addresses参数(默认被注释):
conf复制#listen_addresses = 'localhost'
修改为:
conf复制listen_addresses = '*'
参数解析:
'localhost':仅允许本地连接'*':监听所有网络接口(开发环境适用)- 特定IP:如
'192.168.239.128'只监听指定地址
生产环境建议指定具体IP而非通配符,降低安全风险。
