我需要一次性将PostgreSQL数据库中的一个表中的数据复制到另一个数据库中的相应表中。没有那么多的数据:大约2500行,8列(一些数字,一些varchar)。在postgres数据库之间复制数据
我的第一个想法是在另一个数据库上简单地pg_dump -a -t table -f output.file
,然后pg_restore
。然而,事实证明,中pg_dump
版本和源服务器不匹配 - 和我有过的版本,没有控制,所以升级不是一个选项:
pg_dump: server version: 9.1.2; pg_dump version: 9.0.5
pg_dump: aborting because of server version mismatch
不幸的是,随着版本的Postgres 9,选项-i
(忽略版本)不再可用。我做知道我在做什么,但它仍然不会让我(自然)。
我还有其他选择吗?
你是否尝试使用纯文本转储('pg_dump -Fp')? (这是一个使用'psql'“恢复”的SQL脚本) – 2012-07-10 10:21:03
只要遇到版本不匹配,pg_dump就会立即中止,而不会查看其他任何东西 – 2012-07-10 10:31:25
只有当你走错了方向才会停止。即8.4.13中的pg_dump可以从8.3.x转储而不会出错。 – 2012-07-10 13:08:04