[英]Postgres index creation time
Postgres 创建简单索引超过 2 天。 我在哪里可以看到日志或有关状态索引创建的信息? 在这种情况之前,我已经创建了几次索引,并且花了大约一个小时或更短的时间。 我有大约 5.5m 行并执行下一个命令:
CREATE INDEX collapse_url ON tablle (url, collapse)
有两种可能:
CREATE INDEX
语句正在等待锁定。
您应该能够在pg_stat_activity
视图中看到它。
如果这是您的问题,请结束所有并发的长时间运行的事务(例如使用pg_terminate_backend
)。
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.