我需要更改我的从属 posgresql 服务器上的密码,因为设置它的人留下的密码与我们其他服务器上的超级用户帐户的密码相同。
当我在从服务器上以超级用户身份运行 psql,然后尝试执行命令时
ALTER USER username PASSWORD 'newPassword';
我得到错误:
错误:无法在只读事务中执行 ALTER ROLE
当我尝试通过以下方式更改交易时:
SET TRANSACTION READ WRITE;
我得到错误:
错误:在恢复期间无法设置事务读写模式
我知道从服务器只能读取,但我如何绕过它来更改角色密码,或者从服务器暂时退出恢复模式?
如果另一台服务器是主服务器,这很正常,因为在复制的数据库中不可能有不同的密码。PostgreSQL 从主服务器复制所有内容,包括用户帐户及其密码。暂时没有办法转移它。
如果有人需要在不知道此密码的情况下成为辅助服务器上的超级用户,则应在此服务器上使用不同的身份验证方法,例如Certificate Authentication或外部方法(ldap、radius...)。作为配置文件,
pg_hba.conf
slave 上的 可以不同。