我想在Postgres的同一个DB中只从schema1复制4个表到schema2。并且希望将这些表也保留在schema1中。如何在pgadmin和postgres控制台中做到这一点?
cnwbcb6i1#
可以使用create table ... like
create table ... like
create table schema2.the_table (like schema1.the_table including all);
然后将数据从源插入到目标:
insert into schema2.the_table select * from schema1.the_table;
szqfcxe22#
您可以使用CREATE TABLE AS SELECT。这样您就不需要插入。表将使用数据创建。
CREATE TABLE schema2.the_table AS SELECT * FROM schema1.the_table;
r7xajy2e3#
从v12开始工作的简单语法:
CREATE TABLE newSchema.newTable AS TABLE oldSchema.oldTable;
1wnzp6jl4#
PG转储和PG还原通常是最有效的工具。从命令行:
pg_dump --dbname=mydb --schema=my_schema --file=/Users/my/file.dump --format=c --username=user --host=myhost --port=5432
pg_restore --dbname=mydb --schema=my_schema --format=c --username=user --host=myhost --port=5432 /Users/my/file.dump --no-owner
4条答案
按热度按时间cnwbcb6i1#
可以使用
create table ... like
然后将数据从源插入到目标:
szqfcxe22#
您可以使用CREATE TABLE AS SELECT。这样您就不需要插入。表将使用数据创建。
r7xajy2e3#
从v12开始工作的简单语法:
1wnzp6jl4#
PG转储和PG还原通常是最有效的工具。
从命令行: