我正在尝试更改 PostgreSQL 数据库(版本 > 8.2)及其表的所有者。
我读过这个解决方案:
在 PostgreSQL 中同时修改所有表的 OWNER https://stackoverflow.com/questions/1348126/modify-owner-on-all-tables-simultaneously-in-postgresql
但这是最好的方法吗(对于最新版本的 PostgreSQL)?似乎有一个函数 REASSIGN OWNED 更好,但是这个函数改变了该数据库拥有的每个数据库old_role,不是吗?我只想要一个数据库。
喜欢这篇文章:
REASSIGN OWNED BY 为 1 个指定数据库 https://stackoverflow.com/questions/16959764/reassign-owned-by-for-1-specified-database
我不打算更改所有者 postgres,这是当今最好的方法吗?
先感谢您
根据manual http://www.postgresql.org/docs/current/static/sql-reassign-owned.html:
由于 REASSIGN OWNED 不会影响其他数据库内的对象,因此通常需要在每个数据库中执行此命令
这似乎满足您的要求,尽管它也说该命令会影响表空间(不特定于当前数据库)。
您链接的第二个 SO 答案适用于拥有系统目录的 postgres 用户的特殊情况。您无法更改这些的所有权。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)