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

Nor*_*tis 6 database postgresql pgadmin

我需要一个简单的示例,说明如何将数据从数据库DB1T1复制到数据库DB2T2

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

ale*_*oot 7

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

COPY (SELECT * FROM t1) TO '/home/export.csv';
Run Code Online (Sandbox Code Playgroud)

然后加载回db2

COPY t2 FROM '/home/export.csv';
Run Code Online (Sandbox Code Playgroud)

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

使用命令行工具pg_dump和psql,您甚至可以通过以下方式进行操作:

pg_dump -U postgres -t t1 db1 | psql -U postgres -d db2
Run Code Online (Sandbox Code Playgroud)

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

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


Moh*_*rif 5

你可以试试这个——

 pg_dump -t table_name_to_copy source_db | psql target_db
Run Code Online (Sandbox Code Playgroud)