Postgresql
更改副本上的角色
我有一個主伺服器,有一個輔助伺服器複製它。
我想將角色從 LOGIN 更改為 NOLOGIN。
我可以在主伺服器上輕鬆完成此操作,但更改不會復製到輔助伺服器,我無法在輔助伺服器上更改它:
postgres=# ALTER ROLE myrolename WITH NOLOGIN; ERROR: cannot execute ALTER ROLE in a read-only transaction
有一個簡單的解決方案嗎?
如果複製正常,它肯定會複製。但是必須等待所有 WAL 才能重播,它不能插隊。但是來自使用者的現有連接不會被切斷,只會阻止新的連接。
您還可以編輯副本的 pg_hba 以專門阻止該使用者,這根本不依賴於主伺服器。
此更改肯定會復製到備用數據庫。如果沒有,這意味著複製被破壞或滯後。有關更多資訊,請參閱備用伺服器上的日誌。