GRANT
如果您对非登录角色(又名组)具有特权和所有权,这将大大简化您的任务。让我们命名它foo_admin
。在 server1 上,你
GRANT foo_admin TO pguser1;
在 server2 上,你
REVOKE foo_admin FROM pguser1;
GRANT foo_admin TO pguser2;
全部完成。或者更好:破解转储文件并1
替换2
为
GRANT foo_admin TO pguser1;
..在你恢复之前。pguser2
当然,必须先创建。
现在,只需确保,当您在 server1 上创建任何内容时
ALTER TABLE wuchtel12.game OWNER TO foo_admin;
并设置权限。您可以为每个架构预设权限。就像是:
ALTER DEFAULT PRIVILEGES IN SCHEMA schema1
GRANT INSERT, SELECT, UPDATE, DELETE, TRUNCATE, REFERENCES, TRIGGER ON TABLES
TO foo_admin;
ALTER DEFAULT PRIVILEGES IN SCHEMA schema1
GRANT SELECT, UPDATE, USAGE ON SEQUENCES
TO foo_admin;
这在 server1 和 server2 上同样有效。
此相关答案中的更多详细信息和链接。
您可能还对 pgAdmin 的 Grant Wizard 感兴趣。此相关答案中的详细信息