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