1-- 2-- Hot Standby tests 3-- 4-- hs_standby_disallowed.sql 5-- 6 7SET transaction_read_only = off; 8 9begin transaction read write; 10commit; 11 12-- SELECT 13 14select * from hs1 FOR SHARE; 15select * from hs1 FOR UPDATE; 16 17-- DML 18BEGIN; 19insert into hs1 values (37); 20ROLLBACK; 21BEGIN; 22delete from hs1 where col1 = 1; 23ROLLBACK; 24BEGIN; 25update hs1 set col1 = NULL where col1 > 0; 26ROLLBACK; 27BEGIN; 28truncate hs3; 29ROLLBACK; 30 31-- DDL 32 33create temporary table hstemp1 (col1 integer); 34BEGIN; 35drop table hs2; 36ROLLBACK; 37BEGIN; 38create table hs4 (col1 integer); 39ROLLBACK; 40 41-- Sequences 42 43SELECT nextval('hsseq'); 44 45-- Two-phase commit transaction stuff 46 47BEGIN; 48SELECT count(*) FROM hs1; 49PREPARE TRANSACTION 'foobar'; 50ROLLBACK; 51BEGIN; 52SELECT count(*) FROM hs1; 53COMMIT PREPARED 'foobar'; 54ROLLBACK; 55 56BEGIN; 57SELECT count(*) FROM hs1; 58PREPARE TRANSACTION 'foobar'; 59ROLLBACK PREPARED 'foobar'; 60ROLLBACK; 61 62BEGIN; 63SELECT count(*) FROM hs1; 64ROLLBACK PREPARED 'foobar'; 65ROLLBACK; 66 67 68-- Locks 69BEGIN; 70LOCK hs1; 71COMMIT; 72BEGIN; 73LOCK hs1 IN SHARE UPDATE EXCLUSIVE MODE; 74COMMIT; 75BEGIN; 76LOCK hs1 IN SHARE MODE; 77COMMIT; 78BEGIN; 79LOCK hs1 IN SHARE ROW EXCLUSIVE MODE; 80COMMIT; 81BEGIN; 82LOCK hs1 IN EXCLUSIVE MODE; 83COMMIT; 84BEGIN; 85LOCK hs1 IN ACCESS EXCLUSIVE MODE; 86COMMIT; 87 88-- Listen 89listen a; 90notify a; 91 92-- disallowed commands 93 94ANALYZE hs1; 95 96VACUUM hs2; 97 98CLUSTER hs2 using hs1_pkey; 99 100REINDEX TABLE hs2; 101 102REVOKE SELECT ON hs1 FROM PUBLIC; 103GRANT SELECT ON hs1 TO PUBLIC; 104