gpt4 book ai didi

postgresql - 如何将许多表从一个模式自动移动到 PostgreSQL 中的另一个模式?

转载 作者:行者123 更新时间:2023-12-04 08:51:16 25 4
gpt4 key购买 nike

我想将所有表从一个模式移动到另一个模式。我不想手动完成。我怎样才能自动完成。两种模式都在一个数据库中。

最佳答案

根据 the documentation你可以为给定的表my_table设置一个新的模式new_schema:

alter table my_table set schema new_schema;

要设置架构中所有表的架构(此处为 old_schema),您应该使用 dynamic SQL在 plpgsql block 中:

do $$
declare
rec record;
begin
for rec in
select relname
from pg_class
where relkind = 'r'
and relnamespace = 'old_schema'::regnamespace
-- and relname ilike '%' -- you can filter table names here
loop
execute format(
'alter table old_schema.%I set schema new_schema',
rec.relname);
end loop;
end; $$

另请阅读 the docs. 中关于 pg_class 的内容

关于postgresql - 如何将许多表从一个模式自动移动到 PostgreSQL 中的另一个模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64090197/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com