我们使用copy命令将一个表的数据复制到数据库外部的文件中。
是否可以使用命令将一个表的数据复制到另一表。
如果是,任何人都可以共享查询。
或者有没有更好的方法,例如我们可以使用pg_dump或类似的方法。
我们使用copy命令将一个表的数据复制到数据库外部的文件中。
是否可以使用命令将一个表的数据复制到另一表。
如果是,任何人都可以共享查询。
或者有没有更好的方法,例如我们可以使用pg_dump或类似的方法。
Answers:
您不能轻易做到这一点,但也没有必要这样做。
CREATE TABLE mycopy AS
SELECT * FROM mytable;
要么
CREATE TABLE mycopy (LIKE mytable INCLUDING ALL);
INSERT INTO mycopy
SELECT * FROM mytable;
如果只需要选择某些列或对其重新排序,则可以执行以下操作:
INSERT INTO mycopy(colA, colB)
SELECT col1, col2 FROM mytable;
您还可以选择性地进行pg_dump并仅还原目标表。
INSERT INTO mycopy SELECT * FROM mytable
方法时,我ERROR: column "order" is of type integer but expression is of type text LINE 2: SELECT * FROM django_apps.about_post
要明白,order
两个表中都是整数。
\d
输出psql
INSERT INTO mycopy (a, b) SELECT * FROM mytable
,但是我来这里是为了寻找一种替代方法。我的表具有相同的列,只是顺序不同。事实证明这是不可能的。stackoverflow.com/questions/1267427/…–
假设已经有一个表,并且您要将所有记录从该表复制到数据库中当前不存在的另一个表,那么以下查询将为您完成此任务:
SELECT * into public."NewTable" FROM public."ExistingTable";
select ... into
不赞成使用该语法,而是希望符合标准create table ... as select ...
insert into other (col1, col2) select col1, col2 from one