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

SELECT count(*) FROM pgperf.snapshot_pg_stat_activity;
 count 
-------
     1
(1 row)

SELECT count(*) = 1
  FROM pgperf.snapshot_pg_stat_activity
 WHERE sid = 0
   AND datid IS NOT NULL
   AND datname = 'testdb'
   AND pid IS NOT NULL
   AND usesysid IS NOT NULL
   AND usename IS NOT NULL
   AND application_name = 'psql'
   AND client_port IS NOT NULL
   AND backend_start < now()
   AND xact_start < now()
   AND query_start < now()
   AND state_change < now()
   AND waiting = false
   AND state = 'active'
   AND query = 'SELECT pgperf.create_snapshot_pg_stat_activity(0);';
 ?column? 
----------
 t
(1 row)

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

SELECT count(*) FROM pgperf.snapshot_pg_stat_activity;
 count 
-------
     2
(1 row)

SELECT b.sid - a.sid = 1,
       b.datid = a.datid,
       b.datname = a.datname,
       b.pid = a.pid,
       b.usesysid = a.usesysid,
       b.usename = a.usename,
       b.application_name = a.application_name,
       b.client_port = a.client_port,
       (b.backend_start - a.backend_start) = '0'::interval,
       (b.xact_start - a.xact_start) > '0'::interval,
       (b.query_start - a.query_start) > '0'::interval,
       (b.state_change - a.state_change) > '0'::interval,
       b.waiting = a.waiting,
       b.state = a.state,
       b.query = 'SELECT pgperf.create_snapshot_pg_stat_activity(1);'
  FROM ( SELECT * FROM pgperf.snapshot_pg_stat_activity WHERE sid = 0 ) AS a,
       ( SELECT * FROM pgperf.snapshot_pg_stat_activity WHERE sid = 1 ) AS b
;
 ?column? | ?column? | ?column? | ?column? | ?column? | ?column? | ?column? | ?column? | ?column? | ?column? | ?column? | ?column? | ?column? | ?column? | ?column? 
----------+----------+----------+----------+----------+----------+----------+----------+----------+----------+----------+----------+----------+----------+----------
 t        | t        | t        | t        | t        | t        | t        | t        | t        | t        | t        | t        | t        | t        | t
(1 row)

SELECT pgperf.create_snapshot_pg_stat_activity(2);
 create_snapshot_pg_stat_activity 
----------------------------------
 t
(1 row)

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

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

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

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

