更改 PostgreSQL 数据库及其表的所有者的最佳方法?

2024-01-01

我正在尝试更改 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(使用前将#替换为@)

更改 PostgreSQL 数据库及其表的所有者的最佳方法? 的相关文章

随机推荐