支援的版本:目前 (17) / 16 / 15 / 14 / 13
開發版本:devel
不支援的版本: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

reindexdb

reindexdb — 重新建立 PostgreSQL 資料庫的索引

概要

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

描述

reindexdb 是一個用於重建 PostgreSQL 資料庫中索引的工具程式。

reindexdb 是 SQL 命令 REINDEX 的包裝程式。透過此工具程式重新建立資料庫索引與透過其他方法存取伺服器重新建立索引,沒有實質上的差異。

選項

reindexdb 接受下列命令列引數

-a
--all

重新建立所有資料庫的索引。

--concurrently

使用 CONCURRENTLY 選項。請參閱 REINDEX,其中詳細說明了此選項的所有注意事項。

[-d] dbname
[--dbname=]dbname

指定要重新建立索引的資料庫名稱,當未使用 -a/--all 時。如果未指定,則會從環境變數 PGDATABASE 讀取資料庫名稱。如果未設定,則會使用為連線指定的的使用者名稱。 dbname 可以是連線字串。如果是這樣,連線字串參數將會覆寫任何衝突的命令列選項。

-e
--echo

回顯 reindexdb 產生並傳送到伺服器的命令。

-i index
--index=index

僅重新建立 index 。可以透過編寫多個 -i 開關來重新建立多個索引。

-j njobs
--jobs=njobs

透過同時執行 njobs 個命令來並行執行重新建立索引命令。此選項可能會減少處理時間,但也會增加資料庫伺服器的負載。

reindexdb 將開啟 njobs 個連線到資料庫,因此請確保您的 max_connections 設定足夠高,以容納所有連線。

請注意,此選項與 --system 選項不相容。

-q
--quiet

不顯示進度訊息。

-s
--system

僅重新建立資料庫系統目錄的索引。

-S schema
--schema=schema

僅重新建立 schema 的索引。可以透過編寫多個 -S 開關來重新建立多個結構描述的索引。

-t table
--table=table

僅重新建立 table 的索引。可以透過編寫多個 -t 開關來重新建立多個表格的索引。

--tablespace=tablespace

指定重建索引的表格空間。(此名稱會被當作雙引號識別碼處理。)

-v
--verbose

在處理期間列印詳細資訊。

-V
--version

列印 reindexdb 版本並結束。

-?
--help

顯示關於 reindexdb 命令列引數的說明並結束。

reindexdb 也接受下列連線參數的命令列引數

-h host
--host=host

指定伺服器執行的機器的主機名稱。如果該值以斜線開頭,則將其用作 Unix 域套接字的目錄。

-p port
--port=port

指定伺服器正在偵聽連線的 TCP 端口或本地 Unix 域套接字文件擴展名。

-U username
--username=username

要連線的使用者名稱。

-w
--no-password

永遠不要發出密碼提示。如果伺服器需要密碼驗證,並且無法透過其他方式(例如 .pgpass 文件)取得密碼,則連線嘗試將失敗。此選項在批次作業和沒有使用者可輸入密碼的腳本中很有用。

-W
--password

強制 reindexdb 在連線到資料庫之前提示輸入密碼。

這個選項並非必要,因為如果伺服器要求密碼驗證,reindexdb 會自動提示輸入密碼。 然而,reindexdb 會浪費一次連線嘗試來確認伺服器是否需要密碼。 在某些情況下,值得輸入 -W 以避免額外的連線嘗試。

--maintenance-db=dbname

指定要連線的資料庫名稱,以便在使用 -a/--all 時,找出哪些資料庫應該被重新建立索引。 如果未指定,將會使用 postgres 資料庫,如果該資料庫不存在,則會使用 template1。 這可以是一個 連線字串。 如果是這樣,連線字串參數將覆蓋任何衝突的命令列選項。 此外,除了資料庫名稱本身之外的連線字串參數,將會在連線到其他資料庫時被重複使用。

環境變數

PGDATABASE
PGHOST
PGPORT
PGUSER

預設連線參數

PG_COLOR

指定是否在診斷訊息中使用顏色。可能的值為 alwaysautonever

這個工具,就像大多數其他的 PostgreSQL 工具一樣,也使用 libpq 支援的環境變數(參閱 第 32.15 節)。

診斷

如果遇到困難,請參閱 REINDEXpsql,以了解潛在問題和錯誤訊息的討論。 資料庫伺服器必須在目標主機上執行。 此外,libpq 前端函式庫使用的任何預設連線設定和環境變數都將適用。

範例

要重新建立 test 資料庫的索引:

$ reindexdb test

要重新建立名為 abcd 的資料庫中,表格 foo 和索引 bar 的索引:

$ reindexdb --table=foo --index=bar abcd

參見

REINDEX

提交更正

如果您在文件中發現任何不正確、與您使用特定功能的經驗不符或需要進一步澄清的地方,請使用此表單報告文件問題。