我需要一次性將PostgreSQL數據庫中的一個表中的數據複製到另一個數據庫中的相應表中。沒有那麼多的數據:大約2500行,8列(一些數字,一些varchar)。在postgres數據庫之間複製數據
我的第一個想法是在另一個數據庫上簡單地pg_dump -a -t table -f output.file
,然後pg_restore
。然而,事實證明,中pg_dump
版本和源服務器不匹配 - 和我有過的版本,沒有控制,所以升級不是一個選項:
pg_dump: server version: 9.1.2; pg_dump version: 9.0.5
pg_dump: aborting because of server version mismatch
不幸的是,隨着版本的Postgres 9,選項-i
(忽略版本)不再可用。我做知道我在做什麼,但它仍然不會讓我(自然)。
我還有其他選擇嗎?
你是否嘗試使用純文本轉儲('pg_dump -Fp')? (這是一個使用'psql'「恢復」的SQL腳本) – 2012-07-10 10:21:03
只要遇到版本不匹配,pg_dump就會立即中止,而不會查看其他任何東西 – 2012-07-10 10:31:25
只有當你走錯了方向纔會停止。即8.4.13中的pg_dump可以從8.3.x轉儲而不會出錯。 – 2012-07-10 13:08:04