Postgresql

存放我的數據庫的驅動器空間不足。我有哪些選擇?

  • June 8, 2018

我是數據庫管理的新手。我已經刮了一個網站一個月了。我有兩個驅動器,每個 2TB 大小。我的第一個驅動器 ( c:) 上有 PostgreSQL 10,它還剩下 50GB。我只抓取了大約 75% 的網站,還有 25% 的內容要完成。我有哪些選擇?

我無法擴展我的第一個驅動器,因為我的電腦很舊(hp z600)並且 RAID 軟體最多只能支持 2TB。我寧願不要停止我的抓取過程,因為我是個白痴並且沒有跟踪我已經訪問過的頁面。我以為2TB就足夠了,但我錯了。

執行SHOW autovacuum;顯示 autovacumm 已打開。

這取決於你的數據庫是如何架構的(你沒有說),也可能取決於你使用的 PostgreSQL 版本(你沒有說)。

無論如何,一般來說,使用 PostgreSQL,您可以創建一個新的“表空間”,以創建一個特定的新目錄(因此您選擇位置,例如在第二個驅動器上)可用於在其中創建新的 PostgreSQL 對象,例如表。

請參閱https://www.postgresql.org/docs/current/static/manage-ag-tablespaces.html,其中說*可以將表、索引和整個數據庫分配給特定的表空間。*並給出這個例子:

CREATE TABLESPACE fastspace LOCATION '/ssd1/postgresql/data';
CREATE TABLE foo(i int) TABLESPACE space1;

另外,您確定目前內容實際上只是數據,而不是臨時內容或無用的索引或只是誇大的表,因為您沒有執行autovacuum或類似的東西(這在很大程度上取決於您執行的 PostgreSQL 版本)?

如果您只有一個表,其中有 1950 GB 的數據,您首先需要對其進行分區,以便能夠將一些內容移動到新表空間(和/或將一些舊內容存檔到其他地方)。

引用自:https://dba.stackexchange.com/questions/208840