步骤 1. 配置 postgresql.conf
在 postgresql.conf 文件中编辑这一行,如下所示。
# sudo vi /etc/postgresql/9.6/main/postgresql.conf #### Postgresql 9.6 # sudo vi /var/lib/pgsql/10/data/postgresql.conf ##### Postgresql 10 # sudo vi /var/lib/pgsql/11/data/postgresql.conf ##### Postgresql 11 ## - Connection Settings listen_addresses = '*' # what IP address(es) to listen on; # comma-separated list of addresses; # defaults to 'localhost'; use '*' for all
步骤 3. 重启 PostgreSQL 服务器
进行更改后,我们必须重新启动 PostgreSQL 服务器
# sudo systemctl restart postgresql # sudo systemctl restart postgresql-10 ### FOR Postgresql 10 # sudo systemctl restart postgresql-11 ### FOR Postgresql 11
步骤 4. 调整防火墙
默认情况下,PostgreSQL 服务器监听 5432 端口,为了允许远程访问我们必须打开 5432 端口
# CentOS 7/RHEL 7 # sudo firewall-cmd --permanent --add-port=5432/tcp # sudo firewall-cmd --reload
# Ubuntu 16.04 # sudo ufw allow 5432/tcp
默认情况下,PostgreSQL 服务器允许使用 Unix 套接字访问本地客户端。
在本教程中,我们将介绍如何启用对 PostgreSQL 数据库服务器的网络远程访问。
步骤 2. 配置 pg_hba.conf
在 pg_hba.conf 文件中添加以下行以允许所有用户使用加密密码访问所有数据库:
# sudo vi /etc/postgresql/9.6/main/pg_hba.conf # sudo vi /var/lib/pgsql/10/data/pg_hba.conf ##### FOR Postgresql 10 # sudo vi /var/lib/pgsql/11/data/pg_hba.conf ##### FOR Postgresql 11 ## TYPE DATABASE USER CIDR-ADDRESS METHOD Host all all 0.0.0.0/0 md5
步骤 5. 测试到 PostgreSQL 服务器的远程连接
现在,登录到客户端机器,并执行 psql 远程连接到 PostgreSQL 数据库服务器,如下所示。
# psql -h 19.168.1.15 -U postgres Password for user postgres: psql (9.6.1) SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off) Type "help" for help. postgres=#
日期:2020-06-02 22:18:17 来源:oir作者:oir