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库