PostgreSql 批量修改数据库下所有表 owner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
--格式化保存到 change.sql 脚本
\pset footer
\pset t
\o change.sql
 
--用户名、nspname、relkind 根据实际需求自行选择
select 'alter table ' || '"' || nsp.nspname || '"' || '.' || '"' || cls.relname || '"' || ' owner to 用户名;'
from pg_catalog.pg_class cls,
    pg_catalog.pg_namespace nsp
where nsp.nspname in('oracle','mysql','public')
    and cls.relnamespace = nsp.oid
    and cls.relkind in ('r','S','v')
order by nsp.nspname,
    cls.relname;
 
--执行脚本
\i change.sql

  

relkind 字段类型说明:

  • r = 普通表
  • i = 索引
  • S = 序列
  • t = TOAST表
  • v = 视图
  • m = 物化视图
  • c = 组合类型
  • f = 外部表
  • p = 分区表
  • I = 分区索引
posted @   Cetus-Y  阅读(692)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2021-06-26 redis- setbit、bitcount
点击右上角即可分享
微信分享提示