2017-09-06 118 views
0

我想更改由于活动复制而处于只读模式的PostgreSQL从服务器上的postgres用户的密码。 SELECT pg_is_in_recovery();返回true,因此我不能更改密码 - 迄今为止这么好。在热备份中更改postgres用户密码只读模式

如何暂时暂停复制(以及只读模式)为postgres用户设置新密码? SELECT pg_xlog_replay_pause();并没有工作。

或者我应该重置主服务器上的postgres密码,然后在主服务器上有相同的密码& slave?

+1

我不认为这是可能的。您需要更改主站上的密码 –

+0

更改主站上的DB用户密码也会在从站上复制。 –

回答

1

https://www.postgresql.org/docs/current/static/hot-standby.html

当hot_standby参数设置为true的备用服务器上,它 将开始接受连接,一旦恢复带来了 系统到一致状态。所有这些连接都是严格的 只读;甚至不会写临时表格。

等等你可以在奴隶上做什么的清单。您不能在slave上使用ALTER USER - 在master上执行它,它将被复制到slave。你可以尝试做有不同的密码虽然​​是:在主

  1. 更改密码 - 它会复制到从让你有相同的密码,
  2. pg_xlog_replay_pause奴隶停止重放班主任
  3. 更改密码回到主

这种方式,您将有不同的密码了一段时间(直到你恢复重播)