2016-07-26 69 views
0

我從我的生產environtment每天轉儲做:Postgres日常數據轉儲和水化堵塞磁盤空間?

pg_dump <database name> > dump_<date>.sql 

然後我轉移這到分期和由第一丟棄表導入分期分貝:

drop schema public cascade; 
create schema public; 

然後該幹嘛如下:

psql <database name> < dump_<date>.sql 

但是,它似乎像分期數據庫日益變得異常大和更大。此時,即使在刪除表&數據後,DB文件夾中也有150 GB的空間。

感覺就像日誌或元數據堵塞文件夾。

什麼是正確的方法來做到這一點,或者有一個很好的方式來清除這些額外的數據,而不是刪除數據庫並重新啓動它每次。 謝謝!

+0

您是否按照我的答案中的建議檢出複製? – e4c5

+0

檢查,謝謝! – emraldinho

+0

你好,通過我的一些舊的答案,並遇到這一點。它是如何去的? – e4c5

回答

1

有更好的方法,更好的方法。

https://www.postgresql.org/docs/9.5/static/high-availability.html

的數據庫服務器可以一起以允許通過迅速的第二服務器採取 如果主服務器發生故障(高可用性),或以 允許幾臺計算機來服務相同的數據(負載平衡)。理想情況下,數據庫服務器可以無縫地一起工作。提供靜態網頁的Web服務器 可以很容易地通過將Web請求負載平衡到多臺機器進行組合。實際上,只讀 數據庫服務器也可以相對容易地組合起來。不幸的是,大多數數據庫服務器都有請求的讀/寫組合,並且 讀/寫服務器難於合併。這是因爲儘管 只讀數據需要在每臺服務器上放置一次,但任何服務器的寫入都必須傳播到所有服務器,以便將來讀取 請求這些服務器返回一致的結果。

現在,當你閱讀文檔時,它首先看起來非常嚇人。然而,實際上你只需要轉儲整個羣集的一個轉儲,並在postgresql.conf上啓用WAL日誌記錄,然後你可以每天,每週或每月將WAL存檔文件複製到另一臺服務器上。