W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
reindexdb — 重索引一個(gè)PostgreSQL數(shù)據(jù)庫
reindexdb
[connection-option
...] [option
...] [ --schema
| -S
schema
]
... [ --table
| -t
table
] ... [ --index
| -i
index
] ... [dbname
]
reindexdb
[connection-option
...] [option
...] --all
| -a
reindexdb
[connection-option
...] [option
...] --system
| -s
[dbname
]
reindexdb是用于重建一個(gè)PostgreSQL數(shù)據(jù)庫中索引的工具。
reindexdb是 SQL 命令REINDEX的一個(gè)包裝器。在通過這個(gè)工具和其他方法訪問服務(wù)器來重索引數(shù)據(jù)庫之間沒有實(shí)質(zhì)性的區(qū)別。
reindexdb接受下列命令行參數(shù):
-a
--all
重索引所有數(shù)據(jù)庫。
--concurrently
使用 CONCURRENTLY
選項(xiàng)。 請(qǐng)參閱 REINDEX,其中詳細(xì)解釋了此選項(xiàng)的所有注意事項(xiàng)。
[-d] dbname
[--dbname=]dbname
當(dāng) -a
/--all
未使用時(shí),指定要重新索引的數(shù)據(jù)庫的名稱。 如果未指定,則從環(huán)境變量 PGDATABASE
中讀取數(shù)據(jù)庫名稱。 如果未設(shè)置,則使用為連接指定的用戶名。 dbname
可以是 連接字符串。 如果是這樣,連接字符串參數(shù)將覆蓋任何沖突的命令行選項(xiàng)。
-e
--echo
回顯reindexdb生成并發(fā)送到服務(wù)器的命令。
-i index
--index=index
只是重建index
??梢酝ㄟ^寫多個(gè)-i
開關(guān)來重建多個(gè)索引。
-j njobs
--jobs=njobs
通過同時(shí)運(yùn)行 njobs
命令并行執(zhí)行 reindex 命令。 此選項(xiàng)可能會(huì)減少處理時(shí)間,但也會(huì)增加數(shù)據(jù)庫服務(wù)器上的負(fù)載。
reindexdb將打開到數(shù)據(jù)庫的njobs
連接,因此請(qǐng)確保max_connections設(shè)置足夠高,可以容納所有連接。
請(qǐng)注意,此選項(xiàng)與 --index
和 --system
選項(xiàng)不兼容。
-q
--quiet
不顯示進(jìn)度消息。
-s
--system
索引數(shù)據(jù)庫的系統(tǒng)目錄。
-S schema
--schema=schema
只對(duì)schema
重建索引。 通過寫多個(gè)-S
開關(guān)可以指定多個(gè)要重建索引的模式。
-t table
--table=table
只索引table
??梢酝ㄟ^寫多個(gè)-t
開關(guān)來重索引多個(gè)表。
-v
--verbose
在處理時(shí)打印詳細(xì)信息。
-V
--version
打印reindexdb版本并退出。
-?
--help
顯示有關(guān)reindexdb命令行參數(shù)的幫助并退出。
reindexdb也接受下列命令行參數(shù)用于連接參數(shù):
-h host
--host=host
指定運(yùn)行服務(wù)器的機(jī)器的主機(jī)名。如果該值以一個(gè)斜線開始,它被用作 Unix 域套接字的目錄。
-p port
--port=port
指定服務(wù)器正在監(jiān)聽連接的 TCP 端口或本地 Unix 域套接字文件擴(kuò)展。
-U username
--username=username
要作為哪個(gè)用戶連接。
-w
--no-password
從不發(fā)出一個(gè)口令提示。如果服務(wù)器要求口令認(rèn)證并且沒有其他方式提供口令(例如一個(gè).pgpass
文件),那兒連接嘗試將失敗。這個(gè)選項(xiàng)對(duì)于批處理任務(wù)和腳本有用,因?yàn)樵谄渲袥]有一個(gè)用戶來輸入口令。
-W
--password
強(qiáng)制reindexdb在連接到一個(gè)數(shù)據(jù)庫之前提示要求一個(gè)口令。
這個(gè)選項(xiàng)不是必不可少的,因?yàn)槿绻?wù)器要求口令認(rèn)證,reindexdb將自動(dòng)提示要求一個(gè)口令。但是,reindexdb將浪費(fèi)一次連接嘗試來發(fā)現(xiàn)服務(wù)器想要一個(gè)口令。在某些情況下值得用-W
來避免額外的連接嘗試。
--maintenance-db=dbname
當(dāng)使用 -a
/--all
時(shí),指定要連接到的數(shù)據(jù)庫名稱以發(fā)現(xiàn)應(yīng)重新索引哪些數(shù)據(jù)庫。 如果未指定,將使用 postgres
數(shù)據(jù)庫, 如果不存在,將使用 template1
。 這可以是連接字符串。 如果是這樣,連接字符串參數(shù)將覆蓋任何沖突的命令行選項(xiàng)。 此外,在連接到其他數(shù)據(jù)庫時(shí),將重新使用除數(shù)據(jù)庫名稱本身之外的連接字符串參數(shù)。
PGDATABASE
PGHOST
PGPORT
PGUSER
默認(rèn)連接參數(shù)
PG_COLOR
規(guī)定在診斷消息中是否使用顏色??赡艿闹禐?code class="literal">always、 auto
、never
。
和大部分其他PostgreSQL工具相似,這個(gè)工具也使用libpq(見第 33.14 節(jié))支持的環(huán)境變量。
在有困難時(shí),可以在REINDEX和psql中找潛在問題和錯(cuò)誤消息的討論。數(shù)據(jù)庫服務(wù)器必須運(yùn)行在目標(biāo)主機(jī)上。同樣,任何 libpq前端庫使用的默認(rèn)連接設(shè)置和環(huán)境變量都將適用于此。
reindexdb可能需要多次連接到PostgreSQL服務(wù)器,每一次都會(huì)詢問一個(gè)口令。在這種情況下使用一個(gè)~/.pgpass
文件會(huì)更方便。詳見第 33.15 節(jié)。
要重索引數(shù)據(jù)庫test
:
$
reindexdb test
要重索引名為abcd
的數(shù)據(jù)庫中的表foo
和索引bar
:
$
reindexdb --table foo --index bar abcd
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: