在postgres数据库之间复制数据

时间:2012-07-10 10:10:27

标签: postgresql postgresql-9.0

我需要一次性地将数据从PostgreSQL数据库中的一个表复制到另一个数据库中的相应表。没有那么多数据:大约2500行,8列(一些数字,一些varchar)。

我的第一个想法是在另一个数据库上简单地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(忽略版本)不再可用。我知道我在做什么,但它仍然不会让我(自然)。

我还有其他选择吗?

1 个答案:

答案 0 :(得分:0)

我会使用COPY TOCOPY FROM。适用于任何一个版本,并且是最佳工具。

如果您想使用pg_dump,则必须使用相应的版本。每个版本都有单独的可执行文件。在Linux上,您可以使用which pg_dump获取当前使用的可执行文件的路径。