我有两个Windows机器(PC1 & PC2)与PostgreSQL在两个。在PC1我有表:结合两个Postgresql相似的表位于两台不同的机器
而在PC2我有以下记录在同一个表:
我想这两个表结合起来,把他们在PC1到像(顺序并不重要):
怎么办是什么?我正在使用PostgreSQL 9.2 & pgAdminIII。如果可能的话,我更喜欢使用USB棒而不是网络传输数据。
我有两个Windows机器(PC1 & PC2)与PostgreSQL在两个。在PC1我有表:结合两个Postgresql相似的表位于两台不同的机器
而在PC2我有以下记录在同一个表:
我想这两个表结合起来,把他们在PC1到像(顺序并不重要):
怎么办是什么?我正在使用PostgreSQL 9.2 & pgAdminIII。如果可能的话,我更喜欢使用USB棒而不是网络传输数据。
这是我会做:
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
你可以只转储数据出来:
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