首次登录设置密码
PostgreSQL中postgres用户是默认的,首次登录需要设置postgres用户密码,在Linux系统中以postgres用户登录然后设置密码
sudo -u postgres psql postgres
# 以下是在psql中执行的命令
ALTER USER postgres with encrypted password 'postgres';
更改密码模式
密码模式md5
更换成scram-sha-256
后登录不成功,主要是因为pg_authid
表没有更新。两处配置文件需要更新,reload数据库,重新更新用户密码。
- postgresql.conf
password_encryption = scram-sha-256
- pg_hba.conf
... scram-sha-256
密码安全
.psql_history
文件。可以使用createuser
命令的prompt
形式输入密码- 设置
postgresql.conf
文件中的log_statement = null
配置,或者create user test \password
- 使用
.pgpass
,建议使用peer
的method - 可以新建一个transaction,临时将
log_statement
设置为none
set local log_statement = 'none'
密码存储位置
pg_authid
和pg_shadow
这2个表都有hash后的password,md5方式是
echo -n ${password}${username} | md5sum
结果是加上md5
前缀拼接而成。
pg_hba.conf中entry
一般tight connection match parameters和weak authentication methods放在前面。