2013-03-22 44 views
1

我有两个Windows机器(PC1 & PC2)与PostgreSQL在两个。在PC1我有表:结合两个Postgresql相似的表位于两台不同的机器

enter image description here

而在PC2我有以下记录在同一个表:

enter image description here

我想这两个表结合起来,把他们在PC1到像(顺序并不重要):

enter image description here

怎么办是什么?我正在使用PostgreSQL 9.2 & pgAdminIII。如果可能的话,我更喜欢使用USB棒而不是网络传输数据。

回答

1

这是我会做:

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

文件选项:格式:平原,编码:your_ecnoding

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

这将创建sql查询。 与yourtablename2取代yourtablename和excecute它PC2

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

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

insert into yourtablename 
select * from yourtablename2 

drop table yourtablename2 
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

相关问题