I have a small table with 2 GIN indexes ( gin_idx1 and gin_idx2). During our job runs, the table size grows from 50MB to about 1 GB - high DML activity. Once the job finishes, auto vacuum clears the table size and gin_idx1 size. But gin_idx2 just keeps on growing. Using the sql to find index usage -Unused Indexes I see gin_idx2 is not used. We are on PG 12.4 and as of now the table size is 50MB, gin_idx1 is 20MB but gin_idx2 is 20GB. I know REINDEX will fix it but why is auto vacuum able to take care of 1 gin index but not the other. Is this some kind of bug or an expected behavior? Thoughts? Explanation?