我们使用copy命令将一个表的数据复制到数据库之外的文件中.

是否可以使用命令将一个表的数据复制到另一个表.

如果是,任何人都可以分享这个问题.

或者有没有更好的方法,比如我们可以使用pg_dump或类似的东西.

推荐答案

你不能轻易做到这一点,但也没有必要这么做.

CREATE TABLE mycopy AS
SELECT * FROM mytable;

CREATE TABLE mycopy (LIKE mytable INCLUDING ALL);

INSERT INTO mycopy
SELECT * FROM mytable;

If you need to select only some columns 或 re或der them, you can do this:

INSERT INTO mycopy(colA, colB)
SELECT col1, col2 FROM mytable;

You can also do a selective pg_dump and rest或e of just the target table.

Sql相关问答推荐

用于平均多个数据并与一个数据点进行比较以判断偏移量的SQL查询

Postgres,使用iLike运算符从json数组中搜索的工作方式与从常规表中搜索不同

Stack Exchange站点上的最短帖子(按正文长度计算,用户名为原始发帖(SEDE))

Access 365将文本转换回BigInt

LEFT JOIN不显示计数0我期望的方式

查找表中特定值的上次更新日期

找到最新的连线

重用传递给 node 的参数-postgres upsert查询

带日期函数的复合索引不允许只扫描索引吗?

使用SQL数据库中的现有列派生或修改几个列

如何用HeidiSQL在Firebird中设置超时?

如何在多列上编写具有不同条件的查询?

统计PostgreSQL中前10个最大大小表的行数

STContains、STIntersections和STWithin返回错误的地理结果

不同计数的 Postgres PIVOT 表

将空 JSON 数组添加到 SQL Server 表列中的 JSON 字符串

每次计数器增加时通过运行总重置进行分组

try 将多行折叠为单个结果

MIN MAX 值与条件绑定

如何在一个存储过程中创建全局临时表,并在另一个存储过程中使用它