在PostgreSQL中同时在所有表上修改OWNER

在PostgreSQL中同时在所有表上修改OWNER,第1张

概述如何修改PostgreSQL数据库中所有表的所有者? 我试过ALTER TABLE * OWNER TO new_owner,但它不支持星号语法。 注意:作为@trygvis mentions in the answer below, REASSIGN OWNED命令可用,因为至少版本8.2,并且是一个更容易的方法。 由于您要更改所有表的所有权,因此您可能也需要视图和序列。这是我做的: 表: fo 如何修改Postgresql数据库中所有表的所有者?

我试过ALTER table * OWNER TO new_owner,但它不支持星号语法。

注意:作为@trygvis mentions in the answer below, REASSIGN OWNED命令可用,因为至少版本8.2,并且是一个更容易的方法。

由于您要更改所有表的所有权,因此您可能也需要视图和序列。这是我做的:

表:

for tbl in `psql -qAt -c "select tablename from pg_tables where schemaname = 'public';" YOUR_DB` ; do  psql -c "alter table \"$tbl\" owner to NEW_OWNER" YOUR_DB ; done

序列:

for tbl in `psql -qAt -c "select sequence_name from information_schema.sequences where sequence_schema = 'public';" YOUR_DB` ; do  psql -c "alter table \"$tbl\" owner to NEW_OWNER" YOUR_DB ; done

浏览次数:

for tbl in `psql -qAt -c "select table_name from information_schema.vIEws where table_schema = 'public';" YOUR_DB` ; do  psql -c "alter table \"$tbl\" owner to NEW_OWNER" YOUR_DB ; done

你可能DRY有一点,因为alter语句对于所有三个是相同的。

总结

以上是内存溢出为你收集整理的在PostgreSQL中同时在所有表上修改OWNER全部内容,希望文章能够帮你解决在PostgreSQL中同时在所有表上修改OWNER所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1173447.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存