Размер сильно зависит от активности и времени 37 Гб ни о чем не говорит. Но в целом для разбирательств надо понимать топ таблиц.
Попробуйте запрос
Код:
SELECT *, pg_size_pretty(total_bytes) AS total
, pg_size_pretty(index_bytes) AS INDEX
, pg_size_pretty(toast_bytes) AS toast
, pg_size_pretty(table_bytes) AS TABLE
FROM (
SELECT *, total_bytes-index_bytes-COALESCE(toast_bytes,0) AS table_bytes FROM (
SELECT c.oid,nspname AS table_schema, relname AS TABLE_NAME
, c.reltuples AS row_estimate
, pg_total_relation_size(c.oid) AS total_bytes
, pg_indexes_size(c.oid) AS index_bytes
, pg_total_relation_size(reltoastrelid) AS toast_bytes
FROM pg_class c
LEFT JOIN pg_namespace n ON n.oid = c.relnamespace
WHERE relkind = 'r'
) a
) a
order by 5 desc
По нему можно будет увидеть самые большие таблицы, а исходя из них понимать что делать - что-то можно безболезненно чистить типа Schedullerjobruninfo - там служебная информация о истории запуска планировщика, с остальными сложнее, нужно разбираться индивидуально и чистить адресно, например как то Feed/FeedArchive чистил удаляя оповещения от уволенных-уволенным, от системы - уволенным, или WorkflowTrackingItem от следов зациклившихся по ошибке процессов (процесс впал в бесконечный цикл и наплодил большое количество записей о своей истории)