vacuumlo

PostgreSQL 9.0.0文書
前のページ | 巻戻し | 付録 F. 追加で提供されるモジュール | 早送り | 次のページ

# F.41. vacuumlo

vacuumloはPostgreSQLデータベースから"孤児になった"ラージオブジェクトをすべて削除する、単純なユーティリティです。 データベース内で`oid`または`lo`データ型列内にまったく現れないOIDを持つすべてのラージオブジェクト（LO）を"孤児になった"ラージオブジェクトとみなします。

これを使用する場合にはまた、`contrib/lo`（項F.17参照）内の`lo_manage`トリガに興味を持つかもしれません。 `lo_manage`は初期段階で孤児になったLOの生成を防止しようと試みます。

## F.41.1. 使用方法

    vacuumlo [options] database [database2 ... databaseN]

コマンドラインで指名されたすべてのデータベースに対して処理が行われます。 利用可能なオプションは以下の通りです。

`-v`

  多くの進行メッセージを出力します。

`-n`

  ラージオブジェクトの削除を行わず、単に何が行われるはずかを示します。

`-U` `username`

  接続ユーザ名です。

`-w`
`--no-password`

  パスワード入力のプロンプトを出さなくします。もし、サーバがパスワード認証を必要としており、`.pgpass`ファイルを用いる様な、 プロンプト入力とは別の手段を通してパスワードを利用できない場合は、接続に失敗します。このオプションは、バッチ処理やスクリプト処理の様なパスワードを入力するユーザがいないケースで有効です。

`-W`

  vacuumloは強制的にデータベースに接続する前にパスワード入力を促します。

  サーバがパスワード認証を要求する場合vacuumloは自動的にパスワード入力を促しますので、これが重要になることはありません。 しかし、vacuumloは、サーバにパスワードが必要かどうかを判断するための接続試行を無駄に行います。 こうした余計な接続試行を防ぐために`-W`の入力が有意となる場合もあります。

`-h` `hostname`

  データベースサーバのホスト名です。

`-p` `port`

  データベースサーバのポート番号です。

## F.41.2. 手法

まず、データベース内のラージオブジェクトのOIDをすべて含む一時テーブルを構築します。

そしてデータベース内で`oid`型または`lo`型を型として持つ全列をスキャンし、一時テーブルから一致する項目を削除します。

一時テーブルに残った項目を孤児LOと識別します。 これらが削除されます。

## F.41.3. 作者

Peter Mount `<peter@retep.org.uk>`

前のページ | ホーム | 次のページ
uuid-ossp | 上に戻る | xml2