★PostgreSQLカンファレンス2021 11月12日開催/チケット販売中★
他のバージョンの文書 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

clusterdb

Name

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

Synopsis

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

説明

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

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

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 は単にラッパースクリプトです。エラーメッセージ、および考えられる問題についての詳細情報については CLUSTERpsql を参照して下さい。 このメッセージは、クラスタ化するテーブルごとに 1 度表示される場合があります。

環境

PGDATABASE
PGHOST
PGPORT
PGUSER

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

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

$ clusterdb test

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

$ clusterdb --table foo xyzzy

関連項目

CLUSTER