当前位置:   article > 正文

PostgreSQL重建索引_postgresql 重建索引

postgresql 重建索引

今天遇到查询数据库表数据,报错需要重建索引

PSQLException: 错误: 索引"nnn"在块0上包含未期望的零页 建议:请重建索引 (REINDEX)

创建索引语法:

CREATE INDEX index_name ON table_name (column_name);

方法一:停止应用(这个操作会锁表),重建索引(注:重建完索引名称不变)

reindex index 索引名称

也可以针对表重建索引,这个操作会加排他锁 :

 reindex table 表名 

方法二:在线建新索引,再把旧索引删除

根据不同索引采用不同的建索引命令,例如:

普通索引

drop index idx_tbl_1;
create index concurrently idx_tbl_1 on tbl(id);

唯一索引

  1. create unique index concurrently user_info_username_key_1 on user_info(username);
  2. begin;
  3. alter table user_info drop constraint user_info_username_key;
  4. alter table user_info add constraint user_info_username_key unique using index user_info_username_key_1;
  5. end;

主键索引

  1. create unique index concurrently user_info_pkey_1 on user_info(id);
  2. begin;
  3. alter table user_info drop constraint user_info_pkey;
  4. alter table user_info add constraint user_info_pkey primary key using index user_info_pkey_1;
  5. end;

时间:不停应用的话,业务忙的时候可能会非常长的时间。

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号