On Thu, Apr 23, 2015 at 09:45:38AM -0400, Robert Haas wrote: > > Right. My point is that either you do X 2M times to maintain that fork > > and the overhead of the file existence, or you do one VACUUM FREEZE. I > > am saying that 2M is a large number and adding all those X's might > > exceed the cost of a VACUUM FREEZE. > > I agree, but if we instead make this part of the visibility map > instead of a separate fork, the cost is much less. It won't be any > more expensive to clear 2 consecutive bits any time a page is touched > than it is to clear 1. The VM fork will be twice as large, but still > tiny. And the fact that you'll have only half as many pages mapping > to the same VM page may even improve performance in some cases by > reducing contention. Even when it reduces performance, I think the > impact will be so tiny as not to be worth caring about.
Agreed, no extra file, and the same write volume as currently. It would also match pg_clog, which uses two bits per transaction --- maybe we can reuse some of that code. -- Bruce Momjian <br...@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + Everyone has their own god. + -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers