On 1/23/17 1:11 PM, David Christensen wrote:
I’m not sure that this will work as-is, unless we’re forcing VACUUM to ignore
the visibility map. I had originally considered having this sit on top of
VACUUm though, we just need a way to iterate over all relations and read every
page.
Another issue with this (that I think would still exist with the bgworker
approach) is how to handle databases with datallowconn = 0. `vacuumdb`, at
least, explicitly filters out these rows when iterating over databases to
connect to, so while we could enable them for all databases, we can’t enable
for the cluster without verifying that these disallowed dbs are already
checksummed.
For a first pass, I think it's acceptable for autovac and vac to notice
if a relation needs checksums computed and ignore the VM in that case
(make sure it's ignoring all frozen bits too).
Likewise, for right now I think it's OK to force users that are enabling
this to manually connect to datallowcon=false and run vacuum.
--
Jim Nasby, Data Architect, Blue Treble Consulting, Austin TX
Experts in Analytics, Data Architecture and PostgreSQL
Data in Trouble? Get it in Treble! http://BlueTreble.com
855-TREBLE2 (855-873-2532)
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers