1

我有两台装有 PostgreSQL 的 Windows 机器(PC1 和 PC2)。在 PC1 中,我有一张桌子:

在此处输入图像描述

在 PC2 中,我有同一张表,其中包含以下记录:

在此处输入图像描述

我想组合两个表并将它们放在 PC1 中(顺序不重要):

在此处输入图像描述

怎么能这样做?我正在使用 PostgreSQL 9.2 和 pgAdminIII。如果可能的话,我更喜欢使用 U 盘而不是网络传输数据。

4

2 回答 2

1

您可以将数据转储出去:

pg_dump --data-only dbname > outfile.sql

这将为您提供所有数据的文件。如果您在将此数据插入另一个节点时必须担心重复,那么这是一个大问题。

这是您导入数据的方式:

psql --set ON_ERROR_STOP=on dbname < outfile.sql

如果您继续需要同步这两个数据库,另一种解决方案是使用 PostgreSQL 的一些复制策略。http://www.postgresql.org/docs/9.2/static/warm-standby.html#STREAMING-REPLICATION

于 2013-03-22T10:42:44.493 回答
1

这就是我会做的:

PC1-> pgadmin-> yourtablename -> 右键-> 备份

文件选项:格式:普通,编码:your_ecnoding

转储选项 #1:仅数据,使用列插入。

这将创建 sql 查询。用 yourtablename2 替换 yourtablename并在 PC2 上执行它

删除重复记录并添加数据:

delete from yourtablename2 where id in (select id from yourtablename)

insert into yourtablename 
select * from yourtablename2

drop table yourtablename2
于 2013-03-22T10:45:52.213 回答