CLUSTERDB(1)

NAME
clusterdb - PostgreSQL データベースのクラスタ化

SYNOPSIS

clusterdb [ connection-options... ] [ --table | -t table ] [ dbname ] clusterdb [ connection-options... ] [ [ --all ] [ -a ] ]

説明

clusterdb は、PostgreSQL データベース内のテーブルを再クラスタ化するためのユーティリティです。 すでにクラスタ化されているテーブルを検索し、前回と同じインデックスを使用して再度クラスタ化します。 一度もクラスタ化されていないテーブルは処理されません。

clusterdb は、PostgreSQL の対話的ターミナル psql(1) 経由で実行されるバックエンドコマンド CLUSTER [cluster(l)] のシェルスクリプトラッパーです。 これ以外の方法でデータベースのクラスタ化を行っても特別な違いはありません。このスクリプトから psql を呼び出すことができ、かつデータベースサーバがターゲットのホストで稼働している必要があります。また、psql と libpq のフロントエンドライブラリの、あらゆるデフォルトの設定や環境変数が適応されます。

clusterdb は、 PostgreSQL サーバに何度も接続しなければならない場合がありますが、その度にパスワードが要求されます。 そのような場合には $HOME/.pgpass ファイルを用意しておくと便利です。

オプション

clusterdb では、下記のコマンドライン引数を指定できます。

-a

--all
    すべてのデータベースをクラスタ化します。

[-d] dbname

[--dbname] dbname
    クラスタ化するデータベースの名前を指定します。 データベース名が指定されておらず、-a (または --all) も使用されていない場合、データベース名は環境変数 PGDATABASE から読み取られます。 この変数も設定されていない場合は、接続のために指定されたユーザ名が使用されます。

-e

--echo
    clusterdb が生成し、サーバに送るコマンドをエコー表示します。

-q

--quiet
    返答を表示させないようにします。

-t table

--table table
    table のみをクラスタ化します。

clusterdb は更に、下記のコマンドライン引数を接続パラメータとして受けつけます。

-h host

--host host
    サーバが稼働しているマシンのホスト名を指定します。ホスト名がスラッシュから始まる場合、Unix ドメインソケット用のディレクトリとして使用されます。

-p port

--port port
    サーバが接続を監視するインターネット TCP/IP ポートもしくは Unix ドメインソケットファイルの拡張子を指定します。

-U username

--username username
    接続するためのユーザ名を指定します。

-W

--password
    強制的にパスワードのプロンプトを表示します。

診断

CLUSTER
    すべて正常に終了しました。

clusterdb: Cluster failed.
    異常が発生しました。clusterdb は単にラッパースクリプトです。エラーメッセージ、および考えられる問題についての詳細情報については CLUSTER [cluster(l)] と psql(1) を参照して下さい。 このメッセージは、クラスタ化するテーブルごとに 1 度表示される場合があります。

環境

PGDATABASE

PGHOST

PGPORT

PGUSER
    デフォルトの接続パラメータです。

例

test というデータベースをクラスタ化するには、下記のコマンドを実行します。

$ clusterdb test

xyzzy という名前のデータベース内のテーブル foo だけをクラスタ化するには、下記のコマンドを実行します。

$ clusterdb --table foo xyzzy

関連項目
CLUSTER [cluster(l)]