On Wed, Jan 24, 2018 at 1:27 PM, Abinaya k <abinaya.k....@gmail.com> wrote: > Hai all, > We are building In-memory index extension for postgres. We would > capture table inserts, updates, deletes using triggers. During vacuum > operation, postgres would give calls to ambulkdelete, amvacuumcleanup (as > part of index cleanup). As we handle all updates, deletes using triggers, we > don't have to do any index cleanup in ambulkdelete. But, what stats should i > return from ambulkdelete and amvacuumcleanup? Is that necessary to return > stats from ambulkdelete and amvacuumcleanup ?
Both ambulkdelete and amvacuumcleanup return an IndexBulkDeleteResult. If you return a non-NULL value, the values of returned IndexBulkDeleteResult are used for updating the index statistics and reporting the statistics of bulk deletion in lazy_cleanup_index. For example, num_pages and num_index_tuples are used for updating pg_class.relpages and pg_class.reltuples. But if you return NULL from them, these are skipped. Regards, -- Masahiko Sawada NIPPON TELEGRAPH AND TELEPHONE CORPORATION NTT Open Source Software Center