postgresqlwso2blobwso2-streaming-integrator

Why pg_largeobject is growing?


I've got a system (WSO2SP) which uses PostgreSQL. It stores BLOBs and uses pg_largeobject. I don't have control over how the system uses this Postgres feature. The issue is that the table pg_largeobject is growing constantly and the only way to keep it from growing is cleaning the table using a scheduled task.

Is it possible to analyze requests, queries or another activity to understand why the table might be growing?


Solution

  • Answered by Mohandarshan on Siddhi Slack

    As per the default behaviour, state persistence revisions are get cleaned automatically in Siddhi.

    In Postgres, there is a separate table to handle the large object. This is not cleaned even the actual data is removed. In our case, even state persistence data is removed respective pg_largeobject entry is not getting deleted.

    It seems, Postgres recommends to remove them using the DB trigger or manual process. You can refer to the guide to get some understanding. Please get help from Postgres community, if you need further guidance on this.