SELECT pgperf.create_snapshot_pg_stat_bgwriter(0);
 create_snapshot_pg_stat_bgwriter 
----------------------------------
 t
(1 row)

SELECT count(*) = 1
  FROM pgperf.snapshot_pg_stat_bgwriter
 WHERE sid = 0
   AND checkpoints_timed >= 0
   AND checkpoints_req >= 0
   AND buffers_checkpoint >= 0
   AND buffers_clean >= 0
   AND maxwritten_clean >= 0
   AND buffers_backend >= 0
   AND buffers_alloc >= 0;
 ?column? 
----------
 t
(1 row)

CREATE TABLE t1 AS
  SELECT * FROM generate_series(1,1000);
SELECT 1000
CHECKPOINT;
CHECKPOINT
SELECT pg_sleep(1);
 pg_sleep 
----------
 
(1 row)

SELECT pgperf.create_snapshot_pg_stat_bgwriter(1);
 create_snapshot_pg_stat_bgwriter 
----------------------------------
 t
(1 row)

SELECT b.sid - a.sid = 1,
       b.checkpoints_timed - a.checkpoints_timed = 0,
       b.checkpoints_req - a.checkpoints_req > 0,
       b.buffers_checkpoint - a.buffers_checkpoint > 0,
       b.buffers_clean - a.buffers_clean = 0,
       b.maxwritten_clean - a.maxwritten_clean = 0,
       b.buffers_backend - a.buffers_backend > 0,
       b.buffers_alloc - a.buffers_alloc > 0
  FROM ( SELECT * FROM pgperf.snapshot_pg_stat_bgwriter WHERE sid = 0 ) AS a,
       ( SELECT * FROM pgperf.snapshot_pg_stat_bgwriter WHERE sid = 1 ) AS b
;
 ?column? | ?column? | ?column? | ?column? | ?column? | ?column? | ?column? | ?column? 
----------+----------+----------+----------+----------+----------+----------+----------
 t        | t        | t        | t        | t        | t        | t        | t
(1 row)

CREATE TABLE t2 AS
  SELECT * FROM generate_series(1,1000);
SELECT 1000
CHECKPOINT;
CHECKPOINT
SELECT pgperf.create_snapshot_pg_stat_bgwriter(2);
 create_snapshot_pg_stat_bgwriter 
----------------------------------
 t
(1 row)

SELECT count(*) = 3 FROM pgperf.snapshot_pg_stat_bgwriter;
 ?column? 
----------
 t
(1 row)

SELECT pgperf.delete_snapshot_pg_stat_bgwriter(1);
 delete_snapshot_pg_stat_bgwriter 
----------------------------------
 t
(1 row)

SELECT count(*) = 0 FROM pgperf.snapshot_pg_stat_bgwriter WHERE sid = 1;
 ?column? 
----------
 t
(1 row)

SELECT count(*) = 2 FROM pgperf.snapshot_pg_stat_bgwriter;
 ?column? 
----------
 t
(1 row)

DROP TABLE t1,t2;
DROP TABLE
