Postgresql Postgres索引创建时间
Postgres正在创建超过2天的简单索引。我在哪里可以看到日志或关于状态索引创建的信息?在这种情况出现之前,我已经创建了几次索引,花费了大约一个小时或更少的时间。我有大约5.5m行,执行下一个命令:Postgresql Postgres索引创建时间,postgresql,Postgresql,Postgres正在创建超过2天的简单索引。我在哪里可以看到日志或关于状态索引创建的信息?在这种情况出现之前,我已经创建了几次索引,花费了大约一个小时或更少的时间。我有大约5.5m行,执行下一个命令: CREATE INDEX collapse_url ON tablle (url, collapse) 有两种可能性: CREATE INDEX语句正在等待锁定 您应该能够在pg_stat_activity视图中看到这一点 如果这是您的问题,请结束所有并发的长时间运行事务(例如,使用pg\u t
CREATE INDEX collapse_url ON tablle (url, collapse)
有两种可能性:
CREATE INDEX
语句正在等待锁定
您应该能够在pg_stat_activity
视图中看到这一点
如果这是您的问题,请结束所有并发的长时间运行事务(例如,使用pg\u terminate\u backend
)createindex
语句确实需要很长的时间(不太可能有几百万行)
在这种情况下,您可以通过在创建索引之前增加maintenance\u work\u mem
来加快处理速度- PostgreSQL v11引入了并行索引构建
- PostgreSQL v12引入了查看
来监控pg\u stat\u progress\u create\u index
的进度create index
- PostgreSQL v12还引入了
,以避免对表进行长时间的并发创建索引
锁定访问独占
语句正在等待锁定 您应该能够在CREATE INDEX
视图中看到这一点 如果这是您的问题,请结束所有并发的长时间运行事务(例如,使用pg_stat_activity
)pg\u terminate\u backend
语句确实需要很长的时间(不太可能有几百万行) 在这种情况下,您可以通过在创建索引之前增加createindex
来加快处理速度maintenance\u work\u mem
在最近的版本中,这方面有了相关的改进:
- PostgreSQL v11引入了并行索引构建
- PostgreSQL v12引入了查看
来监控pg\u stat\u progress\u create\u index
的进度create index
- PostgreSQL v12还引入了
,以避免对表进行长时间的并发创建索引
锁定访问独占
- 有两种可能性:
CREATE INDEX
语句是否被另一个进程/事务阻塞:。请使用您的查找更新您的帖子首先,检查CREATE INDEX
语句是否确实被另一个进程/事务阻止:。请用您的发现更新您的帖子