REINDEX

用于重建索引的 SQL 命令

REINDEX 是一个用于重建索引的实用命令。

REINDEXPostgreSQL 7.0 中添加。

用法

进度跟踪

PostgreSQL 12 开始,可以通过视图 pg_stat_progress_create_index 跟踪重新索引进度。

变更历史

示例

重新索引表

appdb=> REINDEX (VERBOSE) TABLE object;
INFO:  index "object_pkey" was reindexed
DETAIL:  CPU: user: 0.00 s, system: 0.00 s, elapsed: 0.01 s
INFO:  index "object_class_id_ix" was reindexed
DETAIL:  CPU: user: 0.00 s, system: 0.00 s, elapsed: 0.00 s
REINDEX

重新索引数据库

PostgreSQL 15 及更早版本中,必须显式提供当前数据库名称

postgres=# REINDEX DATABASE;
ERROR:  syntax error at or near ";"
LINE 1: REINDEX DATABASE;
                        ^
postgres=# REINDEX DATABASE postgres;
REINDEX

无法重新索引其他数据库

postgres=# REINDEX DATABASE foo;
ERROR:  can only reindex the currently open database

分类

索引SQL 命令实用命令

另请参阅

reindexdbCREATE INDEXALTER INDEXDROP INDEX

反馈

REINDEX” 的任何评论、建议或更正,请在此 提交