sc-*_*eds 4 postgresql alter-table
我需要一个 postgresql 语句来运行公共模式(所有表)并更新所有者。我知道手动命令是ALTER TABLE public.<table_name> OWNER TO <username>;
但是我不确定如何将其放入脚本/格式中,该脚本/格式将循环遍历每个表并更新所有者?
这是针对 postgres 9.6 数据库的(它将在测试数据库上运行)。
谢谢
Lau*_*lbe 10
连接到数据库并psql运行
SELECT format(
'ALTER TABLE public.%I OWNER TO user_name',
table_name
)
FROM information_schema.tables
WHERE table_schema = 'public'
AND table_type = 'BASE TABLE' \gexec
Run Code Online (Sandbox Code Playgroud)
\gexec会将查询结果的每一行作为一条语句执行。
进行升级。
| 归档时间: |
|
| 查看次数: |
5696 次 |
| 最近记录: |