REINDEX
目录
REINDEX
NAMESYNOPSIS
DESCRIPTION æè¿°
PARAMETERS åæ°
NOTES 注æ
EXAMPLES ä¾å
COMPATIBILITY å¼å®¹æ§
è¯è
è·
NAME
REINDEX - é建索å¼
SYNOPSIS
REINDEX { DATABASE | TABLE | INDEX } name [ FORCE ]
DESCRIPTION æè¿°
REINDEX åºäºåå¨å¨è¡¨ä¸çæ°æ®é建索å¼ï¼ æ¿æ¢æ§çç´¢å¼æ·è´ãä½¿ç¨ REINDEX æä¸¤ä¸ªä¸»è¦åå ï¼
|
• |
ç´¢å¼å´©æºï¼å¹¶ä¸ä¸åå嫿æçæ°æ®ã尽管ç论ä¸è¿æ¯ä¸å¯è½åççï¼ ä½å®éä¸ç´¢å¼ä¼å 为软件æ¯çæè硬件é®é¢èå´©æºãREINDEX æä¾äºä¸ä¸ªæ¢å¤æ¹æ³ã
|
• |
è¦å¤ççç´¢å¼åå«å¤§éæ ç¨çç´¢å¼é¡µæªè¢«åæ¶ãå¨æäºæåµä¸ï¼ è¿ä¸ªé®é¢ä¼åç å¨ PostgreSQL éé¢ç B-æ ç´¢å¼ä¸ãREINDEX æä¾äºä¸ä¸ªç¼©å°ç´¢å¼ç©ºé´æ¶èçæ¹ æ³ï¼å®éç¨çæ¹æ³æ¯åä¸ä¸ªä¸å¸¦æ ç¨ç´¢å¼é¡µçæ°çæ¬çç´¢å¼ã åéSection 21.2 ‘‘Routine Indexing’’ è·åæ´å¤ä¿¡æ¯ã |
PARAMETERS åæ°
DATABASE
æ¢å¤ä¸ä¸ªå£°æäºçæ°æ®åºçææç³»ç»ç´¢å¼ã ä¸åå«ç¨æ·è¡¨ä¸çç´¢å¼ãåæ·ï¼é¤éå¨ç¬ç«è¿è¡æ¨¡å¼ä¸ï¼ä¹ä¼å¿½ç¥å¨å±äº«ç³»ç»è¡¨ä¸çç´¢å¼ï¼è§ä¸æï¼ã
|
TABLE |
éæ°å»ºç«å£°æçè¡¨çææç´¢å¼ãå¦æè¡¨æä¸ªä»å±ç"TOAST"表ï¼é£ä¹è¿ä¸ªè¡¨ä¹ä¼éæ°ç´¢å¼ã
|
INDEX |
éæ°å»ºç«å£°æäºçç´¢å¼ã
|
name |
è¦é建çæå£°æçæ°æ®åº/表/ç´¢å¼çåç§°ã 表åç´¢å¼åå¯ä»¥ææ¨¡å¼ä¿®é¥°ã
|
FORCE |
è¿æ¯ä¸ä¸ªåºå¼çé项ï¼å¦æå£°æï¼ä¼è¢«å¿½ç¥ã
NOTES 注æ
å¦æä½ æçä¸ä¸ªç¨æ·è¡¨ä¸çç´¢å¼å´©æºäºï¼ä½ å¯ä»¥ç®åå°é建该索å¼ï¼ æè该表ä¸å°ææç´¢å¼ï¼ä½¿ç¨ REINDEX INDEX æè REINDEX TABLEã å¦å¤ä¸ä¸ªå¯¹ä»ç¨æ·è¡¨ç´¢å¼å´©æºçæ¹æ³æ¶åé¤ç¶åé建å®ã妿ä½è¿è¦å¨è¡¨ä¸è¿è¡ä¸äºç»´æ¤å¨ä½ï¼ å¯è½è¿ä¹åæ´å¥½ä¸äºãREINDEX å¨è¡¨ä¸è¯·æ±æä»éï¼è CREATE INDEX åªæ¯éä½åå¨ä½ï¼ èä¸ä¼éä½è¯»ã
å¦æä½ ä»ä¸ä¸ªå´©æºçç³»ç»è¡¨ç´¢å¼ä¸æ¢å¤ï¼äºæä¼æ´æ£æä¸äºã è¿ç§æåµä¸ï¼ç³»ç»å¿é¡»ä¸è½ä½¿ç¨ä»»ä½æçé®çç´¢å¼ã ï¼å®éä¸ï¼å¨è¿ç§æåµä¸ï¼ä½ å¯è½åç°æå¡å¨è¿ç¨å¨å¯å¨ä¹å马ä¸å°±å´©æºäºï¼ å 为ä¾èµäºå´©æºäºçç´¢å¼ãï¼è¦æ³å®å¨æ¢å¤ï¼æå¡å¨å¿é¡»å¸¦ç -P é项å¯å¨ï¼ å®ç¦æ¢æå¡å¨å¨æ¥æ¾ç³»ç»è¡¨çæ¶å使ç¨ç´¢å¼ã
è¿ä¹å个ä¸ä¸ªåæ³äºåæ¢ postmaster ç¶å带ç -P å½ä»¤è¡é项å¯å¨ä¸ä¸ªç¬ç«ç PostgreSQL æå¡å¨ã ç¶åï¼æ ¹æ®ä½ 叿æ¢å¤çç¨åº¦ï¼å¯ä»¥ååº REINDEX DATABASEï¼REINDEX TABLEï¼æè REINDEX INDEXã å¦æè¿ææçï¼ä½¿ç¨ REINDEX DATABASE 鿩鿰æé æ°æ®åºä¸å¨é¨çç³»ç»ç´¢å¼ã ç¶åéåºç¬ç«æå¡å¨ä¼è¯å¹¶ä¸é坿®éçæå¡å¨ãåé postgres(1) æå页è·åæå³å¦ä½ä¸ç¬ç«æå¡å¨äº¤äºçä¿¡æ¯ã
å¦å¤ï¼ä¸ä¸ªæ®éçä¼è¯å¯ä»¥å¨å¶å½ä»¤è¡é项é带ç -P å¯å¨ã è¿ä¹åçæ¹æ³å ä¸åç客æ·ç«¯èå¼ï¼ä½æ¯å¨ææåºäº libpq ç客æ·ç«¯ä¸ï¼ æä»¬é½å¯ä»¥éè¿å¨å¯å¨å®¢æ·ç«¯ä¹å设置 PGOPTIONS ç¯å¢åé为 -P æ¥å®ç°ã 请注æå°½ç®¡è¿ä¸ªæ¹æ³å¹¶ä¸è¦æ±éä½å¶å®å®¢æ·ç«¯ï¼ä½æ¯ç¦æ- ¢å¶å®å®¢æ·ç«¯è¿æ¥åæçæ°æ®åºï¼ ç´å°å®æä¿®è¡¥åºè¯¥äºä¸ä¸ªææºçéæ©ã
妿æçä»»ä½å±äº«çç³»ç»è¡¨çç´¢å¼æåï¼(pg_databaseï¼ pg_groupï¼æè pg_shadowï¼ï¼ é£ä¹å¿é¡»ç¨ç¬ç«æå¡å¨çæ¹å¼æ¥ä¿®å¤å®ãREINDEX ä¸è½å¨å¤ç¨æ·ç¯å¢ä¸å¤çå±äº«ç³»ç»è¡¨ã
é¤äºå±äº«ç³»ç»è¡¨ä¹å¤çææç´¢å¼ï¼REINDEX æ¯æå´©æºå¹¶ä¸æ¯äºå¡å®å¨çã REINDEX 对äºå±äº«çç´¢å¼èè¨ä¸æ¯æå´©æºçï¼è¿å°±æ¯ä¸ºä»ä¹ä¸åè®¸å¨æ- £å¸¸æä½ä¸è¿ä¹ä½¿ç¨çåå ã 妿å¨éæ°å¯¹ä¸ä¸ªå±äº«è¡¨è¿è¡ç´¢å¼çæ¶ååçäºå´©æºï¼é£ä¹å¨çº æ- £é®é¢ä¹åï¼å°±ä¸å¯è½éæ°å¯å¨æ®éçæå¡å¨ã ï¼ä¸ä¸ªå»ºç«äºä¸é¨åçå±äº«ç´¢å¼çå¸åçç¶æ¯"index is not a btree/ç´¢å¼ä¸æ¯ btree ç´¢å¼"é误ãï¼
å¨ PostgreSQL 7.4 ä¹åï¼REINDEX TABLE å¹¶ä¸èªå¨å¤ç TOAST 表ï¼å æ- ¤è¿äºè¡¨å¿é¡»ç¨ç¬ç«çå½ä»¤è¿è¡å¤çãè¿ä¹åä»ç¶å¯ä»¥ï¼ä½æ¯å·²ç»å¤ä½äºã
EXAMPLES ä¾å
é建表 mytable ä¸çç´¢å¼ï¼
REINDEX TABLE my_table;
é建å个索å¼ï¼
REINDEX INDEX my_index;
é建ä¸ä¸ªæ°æ®åºä¸çææç³»ç»ç´¢å¼ï¼ä¸ç®¡ä»ä»¬æ¯å¦ææï¼
$export
PGOPTIONS="-P"
$psql broken_db
broken_db=> REINDEX DATABASE broken_db;
broken_db=> \q
COMPATIBILITY å¼å®¹æ§
å¨SQL æ åéæ²¡æ REINDEXã
è¯è
Postgresql 䏿ç½ç« ä½ä¼å¹³ <laser@pgsqldb.org>
è·
æ¬é¡µé¢ä¸æçç±ä¸æ
man
æå页计åæä¾ã
䏿 man
æå页计åï¼https://github.com/man-pages-zh/manpages-zh