clusterdb [connection-option...] [--table | -t table ] [dbname]
clusterdb [connection-option...] [--all | -a]
clusterdbは、PostgreSQLデータベース内のテーブルを再クラスタ化するユーティリティです。 既にクラスタ化されているテーブルを検索し、前回と同じインデックスを使用して再度クラスタ化します。 一度もクラスタ化されていないテーブルは処理されません。
clusterdbは、SQLコマンドCLUSTERのラッパです。 クラスタ化を行うのに、このユーティリティを使用しても、これ以外のサーバへのアクセス方法を使用しても、特別な違いはありません。
clusterdbでは、下記のコマンドライン引数を指定できます。
全てのデータベースをクラスタ化します。
クラスタ化するデータベースの名前を指定します。 データベース名が指定されておらず、-a(または--all)も使用されていない場合、データベース名は環境変数PGDATABASEから読み取られます。 この変数も設定されていない場合は、接続のために指定されたユーザ名が使用されます。
clusterdbが生成し、サーバに送るコマンドをエコー表示します。
新興メッセージを表示しません。
tableのみをクラスタ化します。
clusterdbは、さらに、下記のコマンドライン引数を接続パラメータとして受け付けます。
サーバが稼働しているマシンのホスト名を指定します。 この値がスラッシュから始まる場合、Unixドメインソケット用のディレクトリとして使用されます。
サーバが接続を監視するTCPポートもしくはUnixドメインソケットファイルの拡張子を指定します。
接続するためのユーザ名です。
データベースに接続する前に、clusterdbは強制的にパスワード入力を促します。
サーバがパスワード認証を要求する場合clusterdbは自動的にパスワード入力を促しますので、これが重要になることはありません。 しかし、clusterdbは、サーバにパスワードが必要かどうかを判断するための接続試行を無駄に行います。 こうした余計な接続試行を防ぐために-Wの入力が有意となる場合もあります。
デフォルトの接続パラメータです。
また、このユーティリティは、他のほとんどのPostgreSQLユーティリティと同様、libpqでサポートされる環境変数を使用します(項30.12を参照してください)。
問題が発生した場合、考えられる原因とエラーメッセージについてはCLUSTERとpsqlを参照してください。 データベースサーバは対象ホスト上で稼働していなければなりません。 また、libpqフロントエンドライブラリの、あらゆるデフォルトの設定や環境変数が適用されます。