Postgresql

將數據導入 Amazon RDS 極其緩慢

  • July 1, 2016

我需要將 PostgresSql 數據庫從舊伺服器導入新的 Amazon RDS。

我創建了一個 db 轉儲文件,通過 pgAdmin 連接到我的 RDS,並開始導入 pgAdmin 控制台 ( \i dump_file.sql)。

一切似乎都正常,但它真的很慢,似乎在同一行停留了幾個小時。我打開 RDS 監視器,看到以下內容:

在此處輸入圖像描述

所以看起來有寫操作符(但為什麼這麼少)和一些 CPU 使用率,但看起來它使用的能力百分比很低。我還詳細檢查了磁碟使用情況,磁碟縮小了,所以它真的在寫,例如它沒有卡住,只是很慢。

我該怎麼做才能更快地導入我的數據庫?為什麼這麼慢?為什麼它使用這麼少的 CPU 和寫操作?

感覺 RDS 並沒有充分發揮其潛力。

PS 我的數據庫大小約為 10Gb。

預設的 postgresql 配置不適合批量導入數據。在導入大量數據之前,您需要做的主要事情是增加max_wal_size以減少 postgresql 在導入期間需要執行檢查點的次數。此外,如果您確定數據的質量,請將其導入事務中。有關其他想法,請參見https://www.postgresql.org/docs/9.5/static/populate.htm(關閉複製、禁用索引、禁用觸發器、用於pg_restore --jobs X並行化導入)

引用自:https://serverfault.com/questions/787492