我需要一个简单的示例,如何将数据从数据库 DB1 表 T1 复制到数据库 DB2 表 T2 。
T2 具有与 T1 相同的结构(相同的列名,属性。只是不同的数据) DB2在DB1之类的服务器上运行,但在不同的端口上运行。
答案 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_dump
和psql
指定命令行参数,以指定服务器的地址和/或端口。
另一种选择是使用外部工具,如:openDBcopy,来执行表的迁移/复制。
答案 1 :(得分:0)
您可以尝试这个-
pg_dump -t table_name_to_copy source_db | psql target_db