У нас есть облачная sql postgres установка с 16vcpu. Неожиданно происходит увеличение размера хранилища, связанного с индексами. Размер таблицы составляет 20 ГБ, и 4 индекса в ней потребляют 70 ГБ + согласно статистике pgadmin. Таблица имеет массовое удаление и вставку операций в транзакциях.
Есть ли какие-либо специальные флаги, которые необходимо добавить?
PS: я слышал о настройках хранения WAL, но не уверен, окажет ли это какое-либо влияние, и я не могу на самом деле s sh на машина как это GCP SQL.
[обновление 1]: После удаления таблицы / индексов воссоздано:
Таблица T1 Статистика:
Sequential scans 911504
Sequential tuples read 7338381399896
Index scans 173853066
Index tuples fetched 98226419759
Tuples inserted 109307632
Tuples updated 804
Tuples deleted 100410620
Tuples HOT updated 0
Live tuples 8797115
Dead tuples 24503371
Heap blocks read 1829681
Heap blocks hit 287184313804
Index blocks read 11094719
Index blocks hit 4239641531
Toast blocks read 0
Toast blocks hit 0
Toast index blocks read 0
Toast index blocks hit 0
Last vacuum
Last autovacuum 2020-03-31 18:48:45.626151+00
Last analyze 2020-03-31 14:17:20.834182+00
Last autoanalyze 2020-03-31 18:48:53.828135+00
Vacuum counter 0
Autovacuum counter 24
Analyze counter 3
Autoanalyze counter 53
Table size 5726 MB
Toast table size 8192
Indexes size 21 GB
T1 pg_stat_user_indexes
indexrelname idx_scan idx_tup_read idx_tup_fetch Size
index1 0 0 0 4608 kB
index2 21 103,913,145 0 3417 MB
index3 2,786 1,110,430 135,322 4007 MB
index4 949,981 1,284,602 794,130 4020 MB
index5 7,549,112 1,043,077,414 1,043,060,187 1860 MB
index6 165,334,371 13,962,773,344 12,209,134,553 1692 MB
Структура таблицы - (всего 14 столбцов)
Col1 character varying
Col2 character varying
Col3 character varying
Col4 character varying
Col5 character varying
Col6 character varying
Col7 character varying
Col8 timestamp without time zone
Col9 timestamp without time zone
Определение индекса - index1 и index4 являются уникальными индексами
index1 Col1 Col2 Col3 Col4 Col5 Col6 Col7 Col8 Col9
where Col8 is null
index2 Col5 Col6
index3 Col1 Col2 Col3 Col5 Col6
index4 Col1 Col2 Col3 Col4 Col5 Col6 Col7 Col8 Col9
where Col8 is not null
index5 Col4 Col5
index6 Col1 Col2 Col3 Col4 Col5
Одна странная вещь, которую я заметил при извлечении статистики - это pg_stat_user_indexes с двумя дополнительными индексами 7 и 8, которые не отображаются под schemaname-> tablename> indexes