2014-09-20 71 views
2

我正在傾銷大型數據庫,並且pg_dump花費了大量時間。我必須將我的數據庫傳輸到新的服務器。我在網上搜索了很多,但每個人都建議使用相同的方法轉儲數據庫,然後傳輸文件並將其恢復到新服務器上。還有另一種方法可以快速完成此操作嗎?將postgres數據庫傳輸到另一臺服務器而不使用pg_dump

我必須將v 8.4.20中的數據傳輸到v 9.3.5。我可以只傳輸文件夾/ var/lib/pgsql/data/base?

我也看了這個: Copying PostgreSQL database to another server

是這種方式比普通方式更快?

我的db有756,000個表,並且大小爲200 GB。

回答

2

根據the documentation可以做文件系統備份。我不希望它工作,如果你改變版本,我不希望這些文件比pg_dump的輸出小得多。您所鏈接的答案是使用pg_dump而不寫入文件,而是直接流到目標服務器。如果這是一個選擇取決於您的網絡。您也可以將這些文件複製到新服務器,並行運行這兩個版本並直接轉儲到目標機器上的新版本。哪個選項最好取決於你的硬件,網絡連接,...

1

主複雜化正在移動到一個新的服務器。移動200 GB需要一段時間。轉儲到磁盤可能會更快,然後將磁盤攜帶或發送到新服務器。這將避免通過電線發送200 GB的數據。

您可以在舊服務器上安裝9.3,然後使用pg_upgrade。運行PostgreSQL的多個版本是司空見慣的;給每個人一個不同的端口號。完成之後 - 在舊服務器上運行了相同版本的PostgreSQL後,新服務器 - 其中一個alternative methods of backup and restore成爲可能。