Hi all,
Trying to understand how can the pg_toast table be 90% of my entire DB?
It isn't "the", its "one of my". "One of my pg_toast" tables consumes 90% of my entire DB". Though its remotely possible you only have one it is not generally the case.
SELECT nspname || '.' || relname AS "relation", pg_size_pretty(pg_relation_size(C.oid)) AS "size" FROM pg_class C LEFT JOIN pg_namespace N ON (N.oid = C.relnamespace) WHERE nspname NOT IN ('pg_catalog', 'information_schema') ORDER BY pg_relation_size(C.oid) DESC LIMIT 20;
Results:
pg_toast.pg_toast_7255249 1581 GB public.ja_feedlog 81 GB
Total DB size: 1.7 TB
What's going on here?
Is there anything I can do to save up some disk space?
Not outside of radical changes to your architecture or deleting records - though possibly marginal improvements could be made dependent upon the type of data that is being "toasted".
David J.