PostgreSQL重新读取pg_hba.conf文件

PostgreSQL  配置文件之pg_hba.conf

该文件用于控制访问安全性,管理客户端对于PostgreSQL服务器的访问权限,内容包括:允许哪些用户连接到哪个数据库,允许哪些IP或者哪个网段的IP连接到本服务器,以及指定连接时使用的身份验证模式。

# Database administrative login by Unix domain socket
local   all             postgres                                trust

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
host    all             all             192.168.199.1/24        md5
host    all             all             172.30.0.1/24           md5

场景:对于新机器A初次链接服务器B的pg数据库,如果A的网段不在B的配置中被允许,那么需要添加到配置才可正常链接。例如添加A(192.168.200.58):

host    all             all             192.168.200.1/24        md5

编辑完配置,PostgreSQL 重新读取pg_hba.conf文件生效:

service postgresql reload

参考自:改文件配置详解


开启远程连接

1. 修改postgresql.conf

postgresql.conf存放位置在/etc/postgresql/10/main下,编辑或添加下面一行,使PostgreSQL可以接受来自任意IP的连接请求:

listen_addresses = '*'

2. 修改pg_hba.conf

pg_hba.conf位置与postgresql.conf相同,默认pg只允许本机通过密码认证登录,修改为上面内容后即可以对任意IP访问进行密码验证。

# TYPE  DATABASE  USER  CIDR-ADDRESS  METHOD
host  all  all 0.0.0.0/0 md5

3. 重启

sudo service postgresql restart

psql  

1,登录远程服务器的PG

psql -h 192.168.199.17 -p 5432 socweb postgres

2,执行sql文件中命令,无需先登录数据库

psql -U postgres -d tcp_scans -f 1.sql

3,在Shell中直接创建、删除PG数据库

createdb -U postgres -O postgres abc  # -O 指定拥有者Owner
dropdb -U postgres abc # 删除abd库
原文地址:https://www.cnblogs.com/ldy-miss/p/10132138.html