支援版本:目前 (17) / 16 / 15 / 14 / 13
開發版本:devel
不支援版本:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3

vacuumlo

vacuumlo — 從 PostgreSQL 資料庫移除孤立的大型物件

概要

vacuumlo [選項...] dbname...

說明

vacuumlo 是一個簡單的工具程式,可以從 PostgreSQL 資料庫中移除任何孤立的大型物件。如果大型物件 (LO) 的 OID 沒有出現在資料庫的任何 oidlo 資料欄位中,則該 LO 會被視為孤立。

如果您使用此工具,您可能也會對 lo 模組中的 lo_manage 觸發程序感興趣。lo_manage 對於嘗試從一開始就避免建立孤立的 LO 很有用。

將處理命令列中指定的所有資料庫。

選項

vacuumlo 接受下列命令列引數

-l limit
--limit=limit

每次交易移除不超過 limit 個大型物件(預設為 1000)。由於伺服器會為每個移除的 LO 取得一個鎖定,因此在一次交易中移除太多 LO 會有超過 max_locks_per_transaction 的風險。如果您希望在單一交易中完成所有移除,請將限制設為零。

-n
--dry-run

不要移除任何東西,只要顯示將會執行的動作。

-v
--verbose

寫入大量進度訊息。

-V
--version

印出 vacuumlo 版本並結束。

-?
--help

顯示關於 vacuumlo 命令列引數的說明,並結束。

vacuumlo 也接受下列連接參數的命令列引數

-h host
--host=host

資料庫伺服器的主機。

-p port
--port=port

資料庫伺服器的連接埠。

-U username
--username=username

要連接的使用者名稱。

-w
--no-password

永不發出密碼提示。如果伺服器需要密碼驗證,且密碼無法透過其他方式取得,例如 .pgpass 檔案,則連接嘗試將會失敗。此選項在批次作業和沒有使用者可輸入密碼的指令碼中很有用。

-W
--password

強制 vacuumlo 在連接到資料庫之前提示輸入密碼。

此選項並非必要,因為如果伺服器要求密碼驗證,vacuumlo 將會自動提示輸入密碼。但是,vacuumlo 將會浪費一次連接嘗試來找出伺服器是否需要密碼。在某些情況下,值得輸入 -W 以避免額外的連接嘗試。

環境

PGHOST
PGPORT
PGUSER

預設連接參數。

此工具程式(如大多數其他 PostgreSQL 工具程式)也使用 libpq 支援的環境變數(請參閱第 32.15 節)。

環境變數 PG_COLOR 指定是否要在診斷訊息中使用顏色。可能的值為 alwaysautonever

備註

vacuumlo 的運作方式如下:首先,vacuumlo 會建立一個暫存表格,其中包含所選資料庫中所有大型物件的 OID。然後,它會掃描資料庫中所有類型為 oidlo 的欄位,並從暫存表格中移除相符的項目。(注意:只會考量具有這些名稱的類型;特別是,不會考量它們之上的網域。)暫存表格中剩餘的項目會識別孤立的 LO。這些會被移除。

作者

Peter Mount

提交更正

如果您在文件中發現任何不正確、與您使用特定功能的經驗不符或需要進一步說明的內容,請使用此表單來回報文件問題。