Re: COPY FREEZE and setting PD_ALL_VISIBLE/visibility map bits

Tomas Vondra <tomas.vondra@enterprisedb.com>

From: Tomas Vondra <tomas.vondra@enterprisedb.com>
To: Tom Lane <tgl@sss.pgh.pa.us>, Pavan Deolasee <pavan.deolasee@gmail.com>
Cc: Anastasia Lubennikova <a.lubennikova@postgrespro.ru>, Tomas Vondra <tomas.vondra@2ndquadrant.com>, Tatsuo Ishii <ishii@sraoss.co.jp>, lubennikovaav@gmail.com, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>, ibrar.ahmad@gmail.com
Date: 2021-01-24T00:54:22Z
Lists: pgsql-hackers

Attachments

Hi,

I've pushed the fix, after a a couple extra rounds of careful testing.

I noticed that the existing pg_visibility regression tests don't check 
if we freeze the TOAST rows too (failing to do that was one of the 
symptoms). It'd be good to add that, because that would fail even 
without CLOBBER_CACHE_ALWAYS, so attached is a test I propose to add.

regards

-- 
Tomas Vondra
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

Commits

  1. Fix COPY FREEZE with CLOBBER_CACHE_ALWAYS

  2. Set PD_ALL_VISIBLE and visibility map bits in COPY FREEZE

  3. docs: client certificates are always sent to the server

  4. Mark commit and abort WAL records with XLR_SPECIAL_REL_UPDATE.

  5. docs: land height is "elevation", not "altitude"

  6. Improve the internal implementation of ereport().