步骤 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 数据库服务器的网络远程访问

默认情况下,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