טבלה מתנפחת

יש טבלה עם 9432 רשומות. גודל עם אינדקסים בערך 7 מגה.
גולד הטבלה עולה כל הזמן.
בעבר עזר VACUUM FULL
אבל עכשיו זה לא עוזר ואני לא יכולה למצוא מי נועל את הרשימות:

postgres=# SELECT relation::regclass, * FROM pg_locks where relation::regclass::text like '%mobileitm%';
relation | locktype | database | relation | page | tuple | virtualxid | transactionid | classid | objid | objsubid | virtualtransaction | pid | mode | granted | fastpath
—--------+----------+----------+----------+------+-------+------------+---------------+---------+-------+----------+--------------------+-----+------+---------+----------
(0 rows)
 
postgres=# vacuum full verbose mobileitm;
INFO:  vacuuming "gkmobile.as_itm"
INFO:  "mobileitm": found 0 removable, 914904 nonremovable row versions in 62482 pages
DETAIL:  905472 dead row versions cannot be removed yet.
CPU 1.70s/10.58u sec elapsed 25.11 sec.
VACUUM
postgres=#  select pg_size_pretty( pg_total_relation_size('mobileitm') );
pg_size_pretty
—------------—
686 MB
(1 row)

איך אני אמצא מי נועל?

אם אין רפליקציה תעשי CLUSTER לפי איזשהו אינדקס. אם אפשר לנעול את הטבלה לזמן מוגבל.

אפשר לעשות…. רק בגלל בהיא גדלה כמעט פי 100 אעשה בלילה. אולי יש דרך לבדוק/להבין מי נועל? ב PG_LOCKS אין כלום.צ'קפוינטס כל 10 דקות, לא חושבת שזה בגלל WAL. אבל ריסטרט של אפליקציה בלי הורדה של מסד נתונים עוזר. גם VACUUM FULL עובר.