PG的访问配置

控制访问来源

pg_hba.conf :基于主机的访问配置文件
postgresql.conf:配置监听地址和端口
pg_ident.conf 基于操作系统用户的认证方式

unix_socket_directories 配置文件中配置sock文件位置。

启动监听

postgres=# alter system set listen_addresses='*';
ALTER SYSTEM

*号可以是具体的IP地址,默认是以localhost作为监听地址,如果有多个IP地址存在,使用逗号进行分割
需要重启数据库生效
也可以直接修改postgresql.conf配置文件,然后重启数据库生效

配置监听端口

postgres=# alter system set port='5434';
ALTER SYSTEM

alter system会写入文件postgresql.auto.conf

需要重启数据库生效
也可以直接修改postgresql.conf配置文件,然后重启数据库生效

访问规则配置

假设配置所有的ip地址来源都可以访问数据库实例

pg_hda.conf中的访问条目格式:
host  database  user  address  method
host:表示采用什么类型(host,hostssl,hostnossl,localhost)
database:允许登录的数据库
user:哪些用户可以登录数据库
address:哪些主机,哪些IP可以连接数据库实例
method:认证方式()
 METHOD can be "trust", "reject", "md5", "password", "scram-sha-256",
 "gss", "sspi", "ident", "peer", "pam", "ldap", "radius" or "cert".
 Note that "password" sends passwords in clear text; "md5" or
 "scram-sha-256" are preferred since they send encrypted passwords.
trust:登录数据库不需要任何密码
password:明文密码传输
md5 | scram-sha-256:密码传输时候加密
其中ident 搭配pg_ident.conf使用
查看数据库的加密方式:
postgres=# show password_encryption;
 password_encryption
---------------------
 scram-sha-256
(1 row)


[postgres@postgresDB pgdata1]$ cat pg_hba.conf |grep -i 0.0.0
host    all             all             0.0.0.0/0               trust

修改pg_hba.conf文件后,需要重新加载配置文件
客户端应用程序:pg_ctl reload -D /pgdata/pgdata
数据库内置函数:select pg_reload_conf()

注意:
如果客户端认证采用scram-sha-256的认证方式,那么数据库中的用户密码必须使用scram-sha-256的加密字符串,否则认证失败
如果客户端认证用md5,那么即使数据库中的用户密码是scram-sha-256,也不会影响认证。

数据库中查看pg_hba.conf配置规则

postgres=# select * from pg_hba_file_rules ;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容