PostgreSQL远程访问数据库 配置

默认情况下,PostgreSQL不允许全面的远程访问。为了赋权给远程连接,你必须编辑配置文件pg_hba.conf。这个文件存在于数据库文件的区域,它包含允许或者拒绝特定用户连接到数据库的权限的配置记录。默认情况下,本地用户可以连接但远程用户不允许。

PostgreSQL自带的默认文件包含大量的有用的注释用于协助添加记录。你可以根据需要给单个的用户、主机、计算机组或者单独的数据库赋权。

例如,希望允许用户neil通过IP地址为192.168.0.3的主机连接到bpsimple数据库,添加以下行到pg_hba.conf文件:

host bpsimple neil 192.168.0.3/32 md5

注意,在早于8.0版本的PostgreSQL中,pg_hba.conf通过IP地址和子网掩码说明一个主机地址,所以之前的例子应该写成这样:

host bpsimple neil 192.168.0.3 255.255.255.255 md5

本例中,我们将添加一条记录来运行局域网中(本例中,子网为192.168.x.x)的任何计算机通过密码认证访问数据库。(如果你需要不同的访问策略,参考配置文件里头的注释)我们添加一行到pg_hba.conf的末尾,就像这样:

host all all 192.168.0.0/16 md5

这意味着IP地址由192.168开头的计算机可以访问所有的数据库。此外,加入我们信任网络中的所有用户,我们可以通过指定使用trust标记不受限的访问方法作为访问策略,就像这样:

host all all 192.168.0.0/16 trust

PostgreSQLpostmaster服务进程读取配置文件postgresql.conf(也存在于数据目录中)来设置一系列的运行选项,包括(如果没有另外指定-D选项或者配置PGDATA环境变量)数据库数据文件的位置。这个配置文件被很好的注释了,如果你想修改任何设置,它都提供了向导。PostgreSQL的文档有一章讲述了运行配置。

例如,我们可以设置postgresql.conf文件中的listen_addresses参数允许服务器监听网络连接,而不是通过-i选项:

listen_addresses='*'

实际上,我们推荐通过postgresql.conf设置配置参数来控制postmaster进程的行为。

你可能感兴趣的:(数据库)