我有兩個postgresql數據庫中的數據需要合併到1中。只需要清楚,兩個數據庫中都需要合併某個日期的「好」數據。這不僅僅是將數據從一個附加到另一個。換句話說,假設table foo有一個序列號字段。兩個數據庫都有一個ID = 5555的foo,並且這兩個值都是有效的(但不同)。因此,目標數據庫的foo保持5555,新記錄應該添加一個新的nextval(foo_id_seq)ID。合併postgres數據
所以,這是一個大混亂。
我的想法是在目標數據庫中創建一個tmp模式並從源數據庫複製所需的數據。然後,我需要基本上「插入」數據。新記錄插入新的想法(和外鍵更新)和兩個dbs中存在的記錄得到更新。
我不相信有一個工具可以幫助我。
我的問題。
如何最好地處理生成新的ID?我知道我可以通過選擇做到這一點,只留下id列,但這是很多打字,並會很慢。我的想法是爲這些表創建臨時觸發器,這些觸發器會覆蓋插入時提供的ID。
最後指出:
- 兩個數據庫處於脫機狀態。而且我是唯一可以找到他們的人。
- 兩個數據庫有相同的架構
- 目標數據庫是9.2
是;我明白我可以做選擇。但是,一些表格有50列。我試圖避免花費其餘時間輸入所有表格的插入/選擇。 –
@DavidS您可以使用['pg_tables'](http://www.postgresql.org/docs/current/static/view-pg-tables.html)和['pg_attribute'](http:// www.postgresql.org/docs/current/static/catalog-pg-attribute.html)表。 –