我们偶尔会遇到这样的问题:在升级某些软件和数据库时,缺乏经验(或工作过度,不排除我自己)的系统管理员(除了 Oracle 之外,我们没有单独的 DBA)以用户身份运行数据库升级脚本,而不是以用户身份运行数据库升级脚本。postgres
正确的应用程序用户。
更新:添加了重点。正如记录的那样,我们的正常操作模式涉及以普通用户身份运行这些脚本。提出这个问题是为了解决那些意外未遵循该程序的情况。
\n\n如何将(一个)数据库中所有对象的所有权(无论它们属于谁)更改为特定用户?
\n\n这里描述的方法对我不起作用,因为:
\n\nREASSIGN OWNED
显然是每个集群,而不是每个数据库(太宽泛)REASSIGN OWNED
不适用于拥有的对象postgres
我真的想要基本上相当于 Unixchown -R newowner /path
命令,只是为了整个 PostgreSQL 数据库(其中的所有模式、表、indic\xc4\x93s 等)。
所涉及的最低 PostgreSQL 版本是 9.1 (Debian wheezy),无论 Debian不稳定在任何给定时间有什么最高版本。
\n