我需要一次性地将数据从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
(忽略版本)不再可用。我做知道我在做什么,但它仍然不会让我(自然)。
我还有其他选择吗?
答案 0 :(得分:0)
我会使用COPY TO
和COPY FROM
。适用于任何一个版本,并且是最佳工具。
如果您想使用pg_dump
,则必须使用相应的版本。每个版本都有单独的可执行文件。在Linux上,您可以使用which pg_dump
获取当前使用的可执行文件的路径。