默认情况下,仅作为 PostgreSQL 数据库群集运行在相同计算机上的客户端可连接到客户端。要允许远程客户端连接到数据库群集,请更改 PostgreSQL pg_hba.conf 配置文件。
请遵照特定于操作系统(安装有 PostgreSQL)的说明进行操作。
PostgreSQL 安装在 Linux 服务器上
- 更改 pg_hba.conf 文件之前先创建一份副本作为备份。
- 如果 PostgreSQL postmaster 当前正在运行,则需要使用 pg_ctl stop 命令将其停止。
- 使用文本编辑器打开 pg_hba.conf 文件。
- 添加连接的客户端计算机的 IP 地址和用于连接的客户端身份验证方法。
例如,为使所有可提供有效密码的用户都能使用 md5 连接从以 10.2.12 开头的地址连接到名为 habitat 的数据库,请向 pg_hba.conf 文件中添加以下行:
host habitat all 10.2.12.0/24 md5
如果要使所有可提供有效密码的用户均能从以 100 开头的地址连接到 PostgreSQL 实例中的任何数据库,则需要向 pg_hba.conf 文件添加与与下面的行内容类似的行:
host all all 100.0.0.0/8 md5
上述示例针对 IPV4 地址。如果需要配置数据库群集以接受具有 IPV6 地址的计算机的连接,那么格式应如下所示:
host all all fe60::61f9:1253:c522:9b92%10/128 md5
要允许所有具有以 fe60 开始的地址的计算机进行连接,应向 pg_hba.conf 文件添加以下行:
host all all fe60::0000:0000:0000:0000%10/8 md5
如果您的 PostgreSQL 数据库集群安装在具有 IPV6 地址的计算机上,而您想要使具有 IPV4 地址的计算机与其连接,则需要在 pg_hba.conf 文件中取消以下行的注释:
host all all ::1/128 md5
- 保存并关闭 pg_hba.conf 文件。
- 使用 pg_ctl 启动(或重新启动) PostgreSQL postmaster。
PostgreSQL 安装在 Windows 服务器上
可通过在文本编辑器中打开 pg_hba.conf 文件来直接对其进行更改,也可通过 PgAdminIII 更改 pg_hba.conf 文件。
- 更改 pg_hba.conf 文件之前先创建一份副本作为备份。
- 执行下述某项操作打开 pg_hba.conf 文件:
- 启动 PgAdminIII,以 postgres 超级用户身份连接到 PostgreSQL 实例,再连接到数据库,单击工具,指向服务器配置,然后单击 pg_hba.conf。
- 启动记事本或其他文本编辑器应用程序,打开 PostgreSQL 安装目录下的 pg_hba.conf 文件。
- 添加连接的客户端计算机的 IP 地址和用于连接的客户端身份验证方法。
例如,为使所有可提供有效密码的用户都能使用 md5 连接从以 10.2.12 开头的地址连接到名为 habitat 的数据库,请向 pg_hba.conf 文件中添加以下行:
host habitat all 10.2.12.0/24 md5
如果要使所有可提供有效密码的用户均能从以 100 开头的地址连接到 PostgreSQL 实例中的任何数据库,则需要向 pg_hba.conf 文件添加与与下面的行内容类似的行:
host all all 100.0.0.0/8 md5
上述示例针对 IPV4 地址。如果需要配置数据库群集以接受具有 IPV6 地址的计算机的连接,那么格式应如下所示:
host all all fe60::61f9:1253:c522:9b92%10/128 md5
要允许所有具有以 fe60 开始的地址的计算机进行连接,应向 pg_hba.conf 文件添加以下行:
host all all fe60::0000:0000:0000:0000%10/8 md5
如果您的 PostgreSQL 数据库集群安装在具有 IPV6 地址的计算机上,而您想要使具有 IPV4 地址的计算机与其连接,则需要在 pg_hba.conf 文件中取消以下行的注释:
host all all ::1/128 md5
- 保存您对文件作出的更改,然后关闭文件。