PostgreSQL新建用户之后,需要在pg_hba.conf加入访问控制的条目并且reload pg_hba.conf生效,同时需要注意访问控制的条目生效是按照顺序来的。步骤如下
#新建用户 https://www.postgresql.org/docs/11/sql-createuser.html,CREATE USER 现在是 CREATE ROLE 的别名。唯一的区别是create user默认login, create role 默认nologin
CREATE USER username WITH LOGIN [ ENCRYPTED ] PASSWORD 'password';
#在pg_hba.conf加入访问条目host database user IP-address IP-mask auth-method [auth-options]
host all username all all scram-sha-256
#reload pg_hba.conf生效
pg_ctl reload
或者
执行 "SELECT pg_reload_conf()".
#遇到的报错psql: FATAL: PAM authentication failed for user https://stackoverflow.com/questions/27544308/psql-fatal-pam-authentication-failed-for-user
遇到这个报错的原因有可能是因为:
1.没在pg_hba.conf加入访问认证方式,系统默认使用pam认证,且在pg_hba.conf存在