将几行从一个数据库复制到另一个数据库

Mic*_*has 5 postgresql replication bulkcopy

我在两台不同的机器上有两个 PostgreSQL 数据库,网络连接很
我想将几个选定的行从第一个实例复制到第二个实例。不幸的是,单表的full dump太大了。CLI 解决方案就可以了。

bma*_*bma 8

在我的脑海里,这里有一些方法可以在不求助于 3rd 方工具的情况下做到这一点。

如果您使用的是 PostgreSQL 9.3,则可以使用扩展名postgres_fdw

如果您使用的是旧版本的 PostgreSQL,请查看dblink

如果您只需要命令行解决方案,并且您使用的是 Linux(或 Cygwin 等),则可以尝试以下操作:

psql -d yourdb -qtAXc "COPY (select col1, col2, col3 from your_table where id between 123 and 456) TO STDOUT CSV HEADER" -U youruser -h localhost -p 5432 \
| psql -d yourremotedb -U youruser -h your_remote_host -qtAXc "COPY yourtable FROM STDIN CSV HEADER"
Run Code Online (Sandbox Code Playgroud)