繁体   English   中英

Postgres 索引创建时间

[英]Postgres index creation time

Postgres 创建简单索引超过 2 天。 我在哪里可以看到日志或有关状态索引创建的信息? 在这种情况之前,我已经创建了几次索引,并且花了大约一个小时或更短的时间。 我有大约 5.5m 行并执行下一个命令:

CREATE INDEX collapse_url ON tablle (url, collapse)

有两种可能:

  1. CREATE INDEX语句正在等待锁定。

    您应该能够在pg_stat_activity视图中看到它。

    如果这是您的问题,请结束所有并发的长时间运行的事务(例如使用pg_terminate_backend )。

  2. CREATE INDEX语句确实需要很长时间(不太可能有几百万行)。

    在这种情况下,您可以在创建索引之前通过增加maintenance_work_mem来加快处理速度。

在最近的版本中,这方面已经有了相关的改进:

  • PostgreSQL v11 引入了并行索引构建。

  • PostgreSQL v12 引入了视图pg_stat_progress_create_index来监控CREATE INDEX的进度。

  • PostgreSQL v12 还引入了CREATE INDEX CONCURRENTLY以避免表上的长ACCESS EXCLUSIVE锁。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM