Postgresql

RDS Postgres 雞和蛋問題改變角色

  • February 2, 2021

我剛剛創建了一個 RDS Postgres 實例,使用者postgres(以及它的主密碼),並通過 psql 作為 user 連接postgres

然後我使用 執行從目前系統生成的腳本pg_dumpall --schema-only,它立即在ALTER ROLE命令上失敗:

ERROR:  must be superuser to alter superusers

好的,但我如何superuser授予postgres?我發現的所有文件都“方便地”跳過了那部分……

編輯:這是確切的命令和錯誤消息:

postgres=> CREATE ROLE "READONLY";
CREATE ROLE
postgres=> ALTER ROLE "READONLY" WITH NOSUPERUSER INHERIT NOCREATEROLE NOCREATEDB LOGIN NOREPLICATION NOBYPASSRLS PASSWORD 'mdXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
ERROR:  must be superuser to alter superusers

您的 RDS 主使用者不是超級使用者

ALTER ROLE更改 PostgreSQL 角色的屬性。

$$ … $$ 具有特權的角色CREATEROLE可以更改這些設置中的任何一個,除了SUPERUSERREPLICATIONBYPASSRLS

ALTER ROLE從您的命令中省略不兼容的設置。

引用自:https://dba.stackexchange.com/questions/284541