2013-03-22 36 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

相關問題