如何在Postgres中保留原始模式的同一个数据库中将某些表从一个模式复制到另一个模式?

时间:2016-10-06 07:52:40

标签: postgresql pgadmin

我想在Postgres的同一个DB中只将4个表从schema1复制到schema2。并且希望将表保留在schema1中。知道如何在pgadmin和postgres控制台中做到这一点吗?

3 个答案:

答案 0 :(得分:28)

您可以使用create table ... like

create table schema2.the_table (like schema1.the_table including all);

然后将数据从源插入到目标:

insert into schema2.the_table
select * 
from schema1.the_table;

答案 1 :(得分:18)

您可以使用CREATE TABLE AS SELECT。这种方式您不需要插入。将使用数据创建表。

CREATE TABLE schema2.the_table
AS 
SELECT * FROM schema1.the_table;

答案 2 :(得分:1)

从v12开始可以使用的简单语法:

CREATE TABLE newSchema.newTable
AS TABLE oldSchema.oldTable;