Почему pg_stat_progress_create_index не показывает что индекс строится?

В PostgreSQL, pg_stat_progress_create_index является системным каталогом, который предоставляет информацию о прогрессе построения индексов в базе данных. Он позволяет отслеживать, сколько индексов создано, и прогресс создания каждого индекса.

Однако, есть несколько возможных причин, по которым pg_stat_progress_create_index может не показывать, что индекс строится:

1. Индекс уже построен: Если индекс, над которым проводятся операции, уже построен, pg_stat_progress_create_index не будет отображать информацию о его построении. Только процессы построения индексов будут отображаться в данном статусе.

2. Неактивные транзакции: Если операция построения индекса запущена в транзакции, которая неактивна или откатилась, pg_stat_progress_create_index не будет отображать информацию о процессе. Транзакция должна быть активной и успешно завершиться для отображения прогресса.

3. Недостаточные привилегии: Пользователь, под которым вы выполняете запрос к pg_stat_progress_create_index, должен обладать достаточными привилегиями для просмотра информации о прогрессе построения индексов. Если у вас недостаточные привилегии, то вы не сможете прочитать эту информацию.

4. Большой объем данных: Если построение индекса выполняется на большом объеме данных, процесс может занять значительное время, и прогресс может не обновляться мгновенно. В этом случае рекомендуется периодически обновлять прогресс, чтобы получить более актуальную информацию о процессе.

Важно отметить, что pg_stat_progress_create_index является динамическим представлением информации о процессе построения индексов и может претерпевать изменения в последующих версиях PostgreSQL. Поэтому рекомендуется проверять документацию для вашей конкретной версии PostgreSQL, чтобы быть уверенным в правильности и актуальности информации о pg_stat_progress_create_index.