1. 修改 postgresql.conf
文件
这个文件包含了PostgreSQL服务器的主要配置选项。你需要编辑此文件以允许远程连接。
- 打开你的PostgreSQL数据目录。默认情况下,这可能是
C:\Program Files\PostgreSQL\16\data
。 - 使用文本编辑器(如Notepad++或Visual Studio Code)打开
postgresql.conf
文件。 - 查找
listen_addresses
配置项。它可能被注释掉了(即行首有#
)。将其修改为如下形式,以允许所有IP地址的连接请求:
listen_addresses = '*'
如果你只想允许特定的IP地址连接,可以将 *
替换为具体的IP地址或使用逗号分隔多个IP地址。
- 保存并关闭文件。
2. 修改 pg_hba.conf
文件
这个文件控制着客户端认证方式。你需要添加或修改规则以允许来自特定主机的连接。
- 在同一个数据目录下,找到
pg_hba.conf
文件,并用文本编辑器打开。 - 添加一行或多行来定义远程连接的访问规则。例如,要允许来自所有IP地址的连接并且使用scram-sha-256密码认证,你可以添加如下行:
host all all 0.0.0.0/0 scram-sha-256
这里的 all
表示允许所有数据库和所有用户,0.0.0.0/0
表示任何IP地址。如果你只希望允许特定IP地址范围的连接,应该替换这个值为相应的CIDR格式的网络地址。
- 保存并关闭文件。
3. 重启 PostgreSQL 服务
为了使上述更改生效,需要重启PostgreSQL服务。
- 打开“服务”管理器(可以通过运行
services.msc
命令来打开)。 - 找到名为
PostgreSQL 16
的服务。 - 右键点击该服务,选择“重启”。
4. 防火墙设置
确保Windows防火墙或其他网络防火墙没有阻止PostgreSQL的默认端口(通常是5432)。你可能需要创建一个入站规则来允许通过5432端口的流量。
- 打开“控制面板” -> “系统和安全” -> “Windows Defender 防火墙” -> “高级设置”。
- 创建一个新的出入站规则,指定协议和端口为TCP,端口号为5432,允许连接。