1
1
--
2
2
-- ADVISORY LOCKS
3
3
--
4
+ SELECT oid AS datoid FROM pg_database WHERE datname = current_database() \gset
4
5
BEGIN;
5
6
SELECT
6
7
pg_advisory_xact_lock(1), pg_advisory_xact_lock_shared(2),
11
12
(1 row)
12
13
13
14
SELECT locktype, classid, objid, objsubid, mode, granted
14
- FROM pg_locks WHERE locktype = 'advisory'
15
+ FROM pg_locks WHERE locktype = 'advisory' AND database = :datoid
15
16
ORDER BY classid, objid, objsubid;
16
17
locktype | classid | objid | objsubid | mode | granted
17
18
----------+---------+-------+----------+---------------+---------
@@ -28,7 +29,7 @@ SELECT pg_advisory_unlock_all();
28
29
29
30
(1 row)
30
31
31
- SELECT count(*) FROM pg_locks WHERE locktype = 'advisory';
32
+ SELECT count(*) FROM pg_locks WHERE locktype = 'advisory' AND database = :datoid ;
32
33
count
33
34
-------
34
35
4
@@ -49,7 +50,7 @@ WARNING: you don't own a lock of type ShareLock
49
50
50
51
-- automatically release xact locks at commit
51
52
COMMIT;
52
- SELECT count(*) FROM pg_locks WHERE locktype = 'advisory';
53
+ SELECT count(*) FROM pg_locks WHERE locktype = 'advisory' AND database = :datoid ;
53
54
count
54
55
-------
55
56
0
66
67
(1 row)
67
68
68
69
SELECT locktype, classid, objid, objsubid, mode, granted
69
- FROM pg_locks WHERE locktype = 'advisory'
70
+ FROM pg_locks WHERE locktype = 'advisory' AND database = :datoid
70
71
ORDER BY classid, objid, objsubid;
71
72
locktype | classid | objid | objsubid | mode | granted
72
73
----------+---------+-------+----------+---------------+---------
86
87
87
88
ROLLBACK;
88
89
SELECT locktype, classid, objid, objsubid, mode, granted
89
- FROM pg_locks WHERE locktype = 'advisory'
90
+ FROM pg_locks WHERE locktype = 'advisory' AND database = :datoid
90
91
ORDER BY classid, objid, objsubid;
91
92
locktype | classid | objid | objsubid | mode | granted
92
93
----------+---------+-------+----------+---------------+---------
@@ -111,7 +112,7 @@ WARNING: you don't own a lock of type ShareLock
111
112
t | f | t | f | t | f | t | f
112
113
(1 row)
113
114
114
- SELECT count(*) FROM pg_locks WHERE locktype = 'advisory';
115
+ SELECT count(*) FROM pg_locks WHERE locktype = 'advisory' AND database = :datoid ;
115
116
count
116
117
-------
117
118
0
@@ -128,7 +129,7 @@ SELECT
128
129
(1 row)
129
130
130
131
SELECT locktype, classid, objid, objsubid, mode, granted
131
- FROM pg_locks WHERE locktype = 'advisory'
132
+ FROM pg_locks WHERE locktype = 'advisory' AND database = :datoid
132
133
ORDER BY classid, objid, objsubid;
133
134
locktype | classid | objid | objsubid | mode | granted
134
135
----------+---------+-------+----------+---------------+---------
@@ -148,7 +149,7 @@ SELECT
148
149
149
150
ROLLBACK;
150
151
SELECT locktype, classid, objid, objsubid, mode, granted
151
- FROM pg_locks WHERE locktype = 'advisory'
152
+ FROM pg_locks WHERE locktype = 'advisory' AND database = :datoid
152
153
ORDER BY classid, objid, objsubid;
153
154
locktype | classid | objid | objsubid | mode | granted
154
155
----------+---------+-------+----------+---------------+---------
@@ -165,7 +166,7 @@ SELECT pg_advisory_unlock_all();
165
166
166
167
(1 row)
167
168
168
- SELECT count(*) FROM pg_locks WHERE locktype = 'advisory';
169
+ SELECT count(*) FROM pg_locks WHERE locktype = 'advisory' AND database = :datoid ;
169
170
count
170
171
-------
171
172
0
@@ -184,7 +185,7 @@ SELECT
184
185
(1 row)
185
186
186
187
SELECT locktype, classid, objid, objsubid, mode, granted
187
- FROM pg_locks WHERE locktype = 'advisory'
188
+ FROM pg_locks WHERE locktype = 'advisory' AND database = :datoid
188
189
ORDER BY classid, objid, objsubid;
189
190
locktype | classid | objid | objsubid | mode | granted
190
191
----------+---------+-------+----------+---------------+---------
@@ -195,7 +196,7 @@ SELECT locktype, classid, objid, objsubid, mode, granted
195
196
(4 rows)
196
197
197
198
COMMIT;
198
- SELECT count(*) FROM pg_locks WHERE locktype = 'advisory';
199
+ SELECT count(*) FROM pg_locks WHERE locktype = 'advisory' AND database = :datoid ;
199
200
count
200
201
-------
201
202
0
@@ -213,7 +214,7 @@ SELECT
213
214
(1 row)
214
215
215
216
SELECT locktype, classid, objid, objsubid, mode, granted
216
- FROM pg_locks WHERE locktype = 'advisory'
217
+ FROM pg_locks WHERE locktype = 'advisory' AND database = :datoid
217
218
ORDER BY classid, objid, objsubid;
218
219
locktype | classid | objid | objsubid | mode | granted
219
220
----------+---------+-------+----------+---------------+---------
@@ -233,7 +234,7 @@ SELECT
233
234
t | t | t | t | t | t | t | t
234
235
(1 row)
235
236
236
- SELECT count(*) FROM pg_locks WHERE locktype = 'advisory';
237
+ SELECT count(*) FROM pg_locks WHERE locktype = 'advisory' AND database = :datoid ;
237
238
count
238
239
-------
239
240
0
@@ -251,7 +252,7 @@ SELECT
251
252
(1 row)
252
253
253
254
SELECT locktype, classid, objid, objsubid, mode, granted
254
- FROM pg_locks WHERE locktype = 'advisory'
255
+ FROM pg_locks WHERE locktype = 'advisory' AND database = :datoid
255
256
ORDER BY classid, objid, objsubid;
256
257
locktype | classid | objid | objsubid | mode | granted
257
258
----------+---------+-------+----------+---------------+---------
@@ -267,7 +268,7 @@ SELECT pg_advisory_unlock_all();
267
268
268
269
(1 row)
269
270
270
- SELECT count(*) FROM pg_locks WHERE locktype = 'advisory';
271
+ SELECT count(*) FROM pg_locks WHERE locktype = 'advisory' AND database = :datoid ;
271
272
count
272
273
-------
273
274
0
0 commit comments