Thread: WAL records
I have started to learn postgresql. While going through the WAL dump saw the below records,
rmgr: Heap2 len (rec/tot): 60/ 60, tx: 0, lsn: 4F/CFF1F0F8, prev 4F/CFF1EB70, desc: CLEAN remxid 0, blkref #0: rel 1663/16385/1259 blk 1301
rmgr: Heap2 len (rec/tot): 60/ 60, tx: 0, lsn: 4F/CF26F808, prev 4F/CF26F7C0, desc: CLEAN remxid 0, blkref #0: rel 1663/16385/3312732 blk 2634
rmgr: Heap2 len (rec/tot): 56/ 56, tx: 79718109, lsn: 4F/CF96D970, prev 4F/CF96D930, desc: CLEAN remxid 0, blkref #0: rel 1663/16385/209012 blk 6621
Wanted to know more about these,
1. Are "CLEAN" vacuum records ? If not, what are those ?
2. Why is the transaction id "0" ?
3. What does these records do ?
Postgresql version : 10.6
On Thu, Sep 26, 2019 at 11:14:53AM +0530, Looserof7 wrote: >I have started to learn postgresql. While going through the WAL dump saw >the below records, > >rmgr: Heap2 len (rec/tot): 60/ 60, tx: 0, lsn: >4F/CFF1F0F8, prev 4F/CFF1EB70, desc: CLEAN remxid 0, blkref #0: rel >1663/16385/1259 blk 1301 > >rmgr: Heap2 len (rec/tot): 60/ 60, tx: 0, lsn: >4F/CF26F808, prev 4F/CF26F7C0, desc: CLEAN remxid 0, blkref #0: rel >1663/16385/3312732 blk 2634 > >rmgr: Heap2 len (rec/tot): 56/ 56, tx: 79718109, lsn: >4F/CF96D970, prev 4F/CF96D930, desc: CLEAN remxid 0, blkref #0: rel >1663/16385/209012 blk 6621 > > >Wanted to know more about these, > > 1. Are "CLEAN" vacuum records ? If not, what are those ? > 2. Why is the transaction id "0" ? > 3. What does these records do ? > >Postgresql version : 10.6 It's an information for the replica (hot-standby) with information about recent data removed from the table by vacuum, so that the standby may abort user queries that'd need the data etc. See heap_xlog_clean() function in heapam.c. regards -- Tomas Vondra http://www.2ndQuadrant.com PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services