PostgreSQL:如何将数据从一个数据库表复制到另一个数据库

时间:2016-09-14 09:53:15

标签: database postgresql pgadmin

我需要一个简单的示例,如何将数据从数据库 DB1 T1 复制到数据库 DB2 T2

T2 具有与 T1 相同的结构(相同的列名,属性。只是不同的数据) DB2在DB1之类的服务器上运行,但在不同的端口上运行。

2 个答案:

答案 0 :(得分:6)

如果两个数据库位于两个不同的服务器实例上,您可以从db1以CSV格式导出,然后导入db2中的数据:

COPY (SELECT * FROM t1) TO '/home/export.csv';

然后重新加载回db2

COPY t2 FROM '/home/export.csv';

同样,两个不同数据库实例上的两个表必须具有相同的结构。

使用命令行工具:pg_dump和psql,你甚至可以这样做:

pg_dump -U postgres -t t1 db1 | psql -U postgres -d db2

您可以为pg_dumppsql指定命令行参数,以指定服务器的地址和/或端口。

另一种选择是使用外部工具,如:openDBcopy,来执行表的迁移/复制。

答案 1 :(得分:0)

您可以尝试这个-

 pg_dump -t table_name_to_copy source_db | psql target_db