reindexdb

名前

reindexdb -- PostgreSQLデータベースのインデックスを再作成します。

概要

reindexdb [connection-option...] [--table | -t table ] [--index | -i index ] [dbname]
reindexdb [connection-option...] [--all | -a]
reindexdb [connection-option...] [--system | -s] [dbname]

説明

reindexdbは、PostgreSQLデータベース内のインデックスを再作成するユーティリティです。

reindexdbは、REINDEXSQLコマンドのラッパです。 このユーティリティを使用しても他の方法でサーバにアクセスしても、データベースインデックスの再作成には実質的な違いはありません。

オプション

reindexdbは以下のコマンドライン引数を受け付けます。

-a
--all

すべてのデータベースのインデックスを再作成します。

[-d] dbname
[--dbname] dbname

インデックス再作成を行うデータベースの名前を指定します。 これが指定されず、かつ、-a(または--all)も使用されていない場合、PGDATABASE環境変数からデータベース名が決まります。 これも設定されていない場合は、接続時に指定したユーザ名が使用されます。

-e
--echo

reindexdbが生成しサーバに送信したコマンドを表示します。

-i index
--index index

indexのみを再作成します。

-q
--quiet

進行メッセージを表示しません。

-s
--system

データベースのシステムカタログのインデックスを再作成します。

-t table
--table table

tableのインデックスのみを再作成します。

また、reindexdbは、接続パラメータとして以下のコマンドライン引数を受け付けます。

-h host
--host host

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

-p port
--port port

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

-U username
--username username

接続するユーザ名を指定します。

-W
--password

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

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

環境

PGDATABASE
PGHOST
PGPORT
PGUSER

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

また、このユーティリティは、他のほとんどのPostgreSQLユーティリティと同様、libpqでサポートされる環境変数を使用します(項30.12を参照してください)。

診断

問題が発生した場合、考えられる原因とエラーメッセージについての説明はREINDEXpsqlを参照してください。 データベースサーバは、指定したホストで稼働している必要があります。 また、libpqフロントエンドライブラリのデフォルトの設定や環境変数が適応されることに注意してください。

注釈

reindexdbの実行中にはPostgreSQLサーバに何度も接続しなければならないことがありますが、この場合その度にパスワードが必要です。 そのような場合は~/.pgpassファイルを用意しておくと便利です。 詳細は項30.13を参照してください。

データベースtestのインデックスを再作成します。

$ reindexdb test

abcdというデータベース内のテーブルfooのインデックスとインデックスbarを再作成します。

$ reindexdb --table foo --index bar abcd

関連項目

REINDEX
アダルトレンタルサーバー