PostgreSQL 设置远程访问

 pg安装之后默认的监听是启动在127.0.0.1上,需要为pg设置合理的监听端口和外部访问策略才可以通过远程的方式进行访问。

此时需要修改两个文件:

postgresql.conf   设置数据库的监听地址和端口

pg_hba.conf       设置数据库的远程访问策略

postgresql.conf 设置 如下:
cat >> /var/lib/pgsql/13/data/postgresql.conf <<"EOF"
listen_addresses = '*'            #监听启动在本机的所有IP地址上,也可以指定某个特定的IP地址
port=5434                             #监听的服务端口
unix_socket_directories='/var/lib/pgsql/13/data'
logging_collector = on                           #后面几个参数都是监听的日志情况
log_directory = 'pg_log'
log_filename = 'postgresql-%a.log'
log_truncate_on_rotation = on
EOF

pg_hba.conf   访问策略的设置如下:

cat  << EOF > /var/lib/pgsql/13/data/pg_hba.conf
local     all       all                            trust
host      all       all   127.0.0.1/32     trust
host      all       all    0.0.0.0/0          md5        #此处需要把md更换为password,并重启数据库才可以远程通过navicat连接成,不知道为什么md5就会失败
host   replication  all    0.0.0.0/0     md5
EOF

pg远程连接设置如下:
psql -U postgres -h192.168.1.105  -p5434    -d postgres

-U:用来设置连接pg的用户名

-h:用来设置PG数据库服务器监听的IP地址

-p:用来设置监听端口信息

-d:用来设置psql远程连接的database

另外PG还支持pgsql+URL的方式进行连接:

psql postgresql://$username:$password@$hostip:$port/$dbname

你可能感兴趣的:(postgresql)