-
Notifications
You must be signed in to change notification settings - Fork 6
Open
Description
pg_buffercache provides dirty flag implementation which could be checked like this:
-- Cache, ordered by the number of buffers
SELECT pn.nspname AS schema, pc.relname, count(1) AS buffers, sum(pb.isdirty :: INT) AS dirty_pages
FROM pg_buffercache pb
JOIN pg_class pc ON pb.relfilenode = pg_relation_filenode(pc.oid) --
AND pb.reldatabase IN(0,
(SELECT oid
FROM pg_database
WHERE datname = current_database()))
JOIN pg_namespace pn ON pn.oid = pc.relnamespace
GROUP BY pc.relname, pn.nspname
ORDER BY buffers DESC;It'd be nice to operate pg_drop_rel_cache() safely, that is not to clear the cache if any pages are dirty. You can return result and/or some messages to indicate this outcome.
Metadata
Metadata
Assignees
Labels
No labels