postgresql 執行 truncate table 後的一些分析

os: centos 7.4
db: postgresql 10.10

版本

# cat /etc/centos-release
CentOS Linux release 7.4.1708 (Core) 
# 
# su - postgres
Last login: Sat Oct 26 22:55:25 CST 2019 on pts/0
$
$ psql -c "select version();"
                                                 version                                                  
----------------------------------------------------------------------------------------------------------
 PostgreSQL 10.10 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-36), 64-bit
(1 row)

create table

postgres=# select pg_switch_wal();
 pg_switch_wal 
---------------
 4/93A773D0
(1 row)

postgres=# checkpoint;

postgres=# select pg_walfile_name(pg_current_wal_lsn());
     pg_walfile_name      
--------------------------
 000000010000000400000094
(1 row)


postgres=# create table tmp_t3 ( c0 varchar(100),c1 varchar(100),c2 varchar(100));

postgres=# checkpoint;


pg_waldump

對 pg_waldump 使用 --follow 參數,類似 linux 的 tail 參數

$ /usr/pgsql-10/bin/pg_waldump /var/lib/pgsql/10/data/pg_wal/000000010000000400000094 --follow

truncate table

postgres=# truncate table tmp_t3;

postgres=# checkpoint;


pg_waldump 的記錄

rmgr: Heap2       len (rec/tot):     56/    56, tx:          0, lsn: 4/9402F808, prev 4/9402F7D0, desc: CLEAN remxid 306413, blkref #0: rel 1663/13808/73970 blk 2
rmgr: Standby     len (rec/tot):     42/    42, tx:     306414, lsn: 4/9402F840, prev 4/9402F808, desc: LOCK xid 306414 db 13808 rel 123791 
rmgr: Storage     len (rec/tot):     42/    42, tx:     306414, lsn: 4/9402F870, prev 4/9402F840, desc: CREATE base/13808/123795
rmgr: Heap        len (rec/tot):    123/   123, tx:     306414, lsn: 4/9402F8A0, prev 4/9402F870, desc: UPDATE off 4 xmax 306414 ; new off 5 xmax 0, blkref #0: rel 1663/13808/73970 blk 2
rmgr: Btree       len (rec/tot):     64/    64, tx:     306414, lsn: 4/9402F920, prev 4/9402F8A0, desc: INSERT_LEAF off 24, blkref #0: rel 1663/13808/73973 blk 2
rmgr: Btree       len (rec/tot):     72/    72, tx:     306414, lsn: 4/9402F960, prev 4/9402F920, desc: INSERT_LEAF off 103, blkref #0: rel 1663/13808/73974 blk 5
rmgr: Btree       len (rec/tot):     64/    64, tx:     306414, lsn: 4/9402F9A8, prev 4/9402F960, desc: INSERT_LEAF off 162, blkref #0: rel 1663/13808/73975 blk 5
rmgr: Transaction len (rec/tot):    114/   114, tx:     306414, lsn: 4/9402F9E8, prev 4/9402F9A8, desc: COMMIT 2020-02-29 20:31:49.504025 CST; rels: base/13808/123794; inval msgs: catcache 50 catcache 49 relcache 123791

參考:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章