-- -- Hot Standby tests -- -- hs_standby_allowed.sql -- -- SELECT select count(*) as should_be_1 from hs1; should_be_1 ------------- 1 (1 row) select count(*) as should_be_2 from hs2; should_be_2 ------------- 2 (1 row) select count(*) as should_be_3 from hs3; should_be_3 ------------- 3 (1 row) COPY hs1 TO '/tmp/copy_test'; \! cat /tmp/copy_test 1 -- Access sequence directly select is_called from hsseq; is_called ----------- f (1 row) -- Transactions begin; select count(*) as should_be_1 from hs1; should_be_1 ------------- 1 (1 row) end; begin transaction read only; select count(*) as should_be_1 from hs1; should_be_1 ------------- 1 (1 row) end; begin transaction isolation level repeatable read; select count(*) as should_be_1 from hs1; should_be_1 ------------- 1 (1 row) select count(*) as should_be_1 from hs1; should_be_1 ------------- 1 (1 row) select count(*) as should_be_1 from hs1; should_be_1 ------------- 1 (1 row) commit; begin; select count(*) as should_be_1 from hs1; should_be_1 ------------- 1 (1 row) commit; begin; select count(*) as should_be_1 from hs1; should_be_1 ------------- 1 (1 row) abort; start transaction; select count(*) as should_be_1 from hs1; should_be_1 ------------- 1 (1 row) commit; begin; select count(*) as should_be_1 from hs1; should_be_1 ------------- 1 (1 row) rollback; begin; select count(*) as should_be_1 from hs1; should_be_1 ------------- 1 (1 row) savepoint s; select count(*) as should_be_2 from hs2; should_be_2 ------------- 2 (1 row) commit; begin; select count(*) as should_be_1 from hs1; should_be_1 ------------- 1 (1 row) savepoint s; select count(*) as should_be_2 from hs2; should_be_2 ------------- 2 (1 row) release savepoint s; select count(*) as should_be_2 from hs2; should_be_2 ------------- 2 (1 row) savepoint s; select count(*) as should_be_3 from hs3; should_be_3 ------------- 3 (1 row) rollback to savepoint s; select count(*) as should_be_2 from hs2; should_be_2 ------------- 2 (1 row) commit; -- SET parameters -- has no effect on read only transactions, but we can still set it set synchronous_commit = on; show synchronous_commit; synchronous_commit -------------------- on (1 row) reset synchronous_commit; discard temp; discard all; -- CURSOR commands BEGIN; DECLARE hsc CURSOR FOR select * from hs3; FETCH next from hsc; col1 ------ 113 (1 row) fetch first from hsc; col1 ------ 113 (1 row) fetch last from hsc; col1 ------ 115 (1 row) fetch 1 from hsc; col1 ------ (0 rows) CLOSE hsc; COMMIT; -- Prepared plans PREPARE hsp AS select count(*) from hs1; PREPARE hsp_noexec (integer) AS insert into hs1 values ($1); EXECUTE hsp; count ------- 1 (1 row) DEALLOCATE hsp; -- LOCK BEGIN; LOCK hs1 IN ACCESS SHARE MODE; LOCK hs1 IN ROW SHARE MODE; LOCK hs1 IN ROW EXCLUSIVE MODE; COMMIT; -- UNLISTEN UNLISTEN a; UNLISTEN *; -- LOAD -- should work, easier if there is no test for that... -- ALLOWED COMMANDS CHECKPOINT; discard all;