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

PostgreSQL: How to copy data from one database table to another database

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

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

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

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

然后加载回 db2 :

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

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

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

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

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

另一种选择是使用外部工具,例如:openDBcopy,来执行 table.

的 migration/copy

你可以试试这个 -

 pg_dump -t table_name_to_copy source_db | psql target_db