2
2
-- Statement level tracking
3
3
--
4
4
SET pg_stat_statements.track_utility = TRUE;
5
- SELECT pg_stat_statements_reset();
6
- pg_stat_statements_reset
7
- --------------------------
8
-
5
+ SELECT pg_stat_statements_reset() IS NOT NULL AS t ;
6
+ t
7
+ ---
8
+ t
9
9
(1 row)
10
10
11
11
-- DO block - top-level tracking.
@@ -29,10 +29,10 @@ SELECT toplevel, calls, query FROM pg_stat_statements
29
29
| | $$ LANGUAGE plpgsql
30
30
(2 rows)
31
31
32
- SELECT pg_stat_statements_reset();
33
- pg_stat_statements_reset
34
- --------------------------
35
-
32
+ SELECT pg_stat_statements_reset() IS NOT NULL AS t ;
33
+ t
34
+ ---
35
+ t
36
36
(1 row)
37
37
38
38
-- DO block - all-level tracking.
@@ -49,31 +49,31 @@ BEGIN
49
49
END; $$;
50
50
SELECT toplevel, calls, query FROM pg_stat_statements
51
51
ORDER BY query COLLATE "C", toplevel;
52
- toplevel | calls | query
53
- ----------+-------+--------------------------------------
52
+ toplevel | calls | query
53
+ ----------+-------+----------------------------------------------------
54
54
f | 1 | DELETE FROM stats_track_tab
55
55
t | 1 | DELETE FROM stats_track_tab
56
- t | 1 | DO $$ +
57
- | | BEGIN +
58
- | | DELETE FROM stats_track_tab; +
56
+ t | 1 | DO $$ +
57
+ | | BEGIN +
58
+ | | DELETE FROM stats_track_tab; +
59
59
| | END; $$
60
- t | 1 | DO LANGUAGE plpgsql $$ +
61
- | | BEGIN +
62
- | | -- this is a SELECT +
63
- | | PERFORM 'hello world'::TEXT; +
60
+ t | 1 | DO LANGUAGE plpgsql $$ +
61
+ | | BEGIN +
62
+ | | -- this is a SELECT +
63
+ | | PERFORM 'hello world'::TEXT; +
64
64
| | END; $$
65
65
f | 1 | SELECT $1::TEXT
66
- t | 1 | SELECT pg_stat_statements_reset()
66
+ t | 1 | SELECT pg_stat_statements_reset() IS NOT NULL AS t
67
67
t | 1 | SET pg_stat_statements.track = 'all'
68
68
(7 rows)
69
69
70
70
-- DO block - top-level tracking without utility.
71
71
SET pg_stat_statements.track = 'top';
72
72
SET pg_stat_statements.track_utility = FALSE;
73
- SELECT pg_stat_statements_reset();
74
- pg_stat_statements_reset
75
- --------------------------
76
-
73
+ SELECT pg_stat_statements_reset() IS NOT NULL AS t ;
74
+ t
75
+ ---
76
+ t
77
77
(1 row)
78
78
79
79
DELETE FROM stats_track_tab;
@@ -88,18 +88,18 @@ BEGIN
88
88
END; $$;
89
89
SELECT toplevel, calls, query FROM pg_stat_statements
90
90
ORDER BY query COLLATE "C", toplevel;
91
- toplevel | calls | query
92
- ----------+-------+-----------------------------------
91
+ toplevel | calls | query
92
+ ----------+-------+----------------------------------------------------
93
93
t | 1 | DELETE FROM stats_track_tab
94
- t | 1 | SELECT pg_stat_statements_reset()
94
+ t | 1 | SELECT pg_stat_statements_reset() IS NOT NULL AS t
95
95
(2 rows)
96
96
97
97
-- DO block - all-level tracking without utility.
98
98
SET pg_stat_statements.track = 'all';
99
- SELECT pg_stat_statements_reset();
100
- pg_stat_statements_reset
101
- --------------------------
102
-
99
+ SELECT pg_stat_statements_reset() IS NOT NULL AS t ;
100
+ t
101
+ ---
102
+ t
103
103
(1 row)
104
104
105
105
DELETE FROM stats_track_tab;
@@ -114,21 +114,21 @@ BEGIN
114
114
END; $$;
115
115
SELECT toplevel, calls, query FROM pg_stat_statements
116
116
ORDER BY query COLLATE "C", toplevel;
117
- toplevel | calls | query
118
- ----------+-------+-----------------------------------
117
+ toplevel | calls | query
118
+ ----------+-------+----------------------------------------------------
119
119
f | 1 | DELETE FROM stats_track_tab
120
120
t | 1 | DELETE FROM stats_track_tab
121
121
f | 1 | SELECT $1::TEXT
122
- t | 1 | SELECT pg_stat_statements_reset()
122
+ t | 1 | SELECT pg_stat_statements_reset() IS NOT NULL AS t
123
123
(4 rows)
124
124
125
125
-- PL/pgSQL function - top-level tracking.
126
126
SET pg_stat_statements.track = 'top';
127
127
SET pg_stat_statements.track_utility = FALSE;
128
- SELECT pg_stat_statements_reset();
129
- pg_stat_statements_reset
130
- --------------------------
131
-
128
+ SELECT pg_stat_statements_reset() IS NOT NULL AS t ;
129
+ t
130
+ ---
131
+ t
132
132
(1 row)
133
133
134
134
CREATE FUNCTION PLUS_TWO(i INTEGER) RETURNS INTEGER AS $$
@@ -166,11 +166,11 @@ SELECT PLUS_ONE(10);
166
166
(1 row)
167
167
168
168
SELECT calls, rows, query FROM pg_stat_statements ORDER BY query COLLATE "C";
169
- calls | rows | query
170
- -------+------+-----------------------------------
169
+ calls | rows | query
170
+ -------+------+----------------------------------------------------
171
171
2 | 2 | SELECT PLUS_ONE($1)
172
172
2 | 2 | SELECT PLUS_TWO($1)
173
- 1 | 1 | SELECT pg_stat_statements_reset()
173
+ 1 | 1 | SELECT pg_stat_statements_reset() IS NOT NULL AS t
174
174
(3 rows)
175
175
176
176
-- immutable SQL function --- can be executed at plan time
@@ -195,15 +195,15 @@ SELECT toplevel, calls, rows, query FROM pg_stat_statements ORDER BY query COLLA
195
195
t | 2 | 2 | SELECT PLUS_THREE($1)
196
196
t | 2 | 2 | SELECT PLUS_TWO($1)
197
197
t | 1 | 3 | SELECT calls, rows, query FROM pg_stat_statements ORDER BY query COLLATE "C"
198
- t | 1 | 1 | SELECT pg_stat_statements_reset()
198
+ t | 1 | 1 | SELECT pg_stat_statements_reset() IS NOT NULL AS t
199
199
(5 rows)
200
200
201
201
-- PL/pgSQL function - all-level tracking.
202
202
SET pg_stat_statements.track = 'all';
203
- SELECT pg_stat_statements_reset();
204
- pg_stat_statements_reset
205
- --------------------------
206
-
203
+ SELECT pg_stat_statements_reset() IS NOT NULL AS t ;
204
+ t
205
+ ---
206
+ t
207
207
(1 row)
208
208
209
209
-- we drop and recreate the functions to avoid any caching funnies
@@ -246,13 +246,13 @@ SELECT PLUS_ONE(1);
246
246
(1 row)
247
247
248
248
SELECT calls, rows, query FROM pg_stat_statements ORDER BY query COLLATE "C";
249
- calls | rows | query
250
- -------+------+-----------------------------------
249
+ calls | rows | query
250
+ -------+------+----------------------------------------------------
251
251
2 | 2 | SELECT (i + $2 + $3)::INTEGER
252
252
2 | 2 | SELECT (i + $2)::INTEGER LIMIT $3
253
253
2 | 2 | SELECT PLUS_ONE($1)
254
254
2 | 2 | SELECT PLUS_TWO($1)
255
- 1 | 1 | SELECT pg_stat_statements_reset()
255
+ 1 | 1 | SELECT pg_stat_statements_reset() IS NOT NULL AS t
256
256
(5 rows)
257
257
258
258
-- immutable SQL function --- can be executed at plan time
@@ -280,17 +280,17 @@ SELECT toplevel, calls, rows, query FROM pg_stat_statements ORDER BY query COLLA
280
280
t | 2 | 2 | SELECT PLUS_TWO($1)
281
281
t | 1 | 5 | SELECT calls, rows, query FROM pg_stat_statements ORDER BY query COLLATE "C"
282
282
f | 2 | 2 | SELECT i + $2 LIMIT $3
283
- t | 1 | 1 | SELECT pg_stat_statements_reset()
283
+ t | 1 | 1 | SELECT pg_stat_statements_reset() IS NOT NULL AS t
284
284
(8 rows)
285
285
286
286
--
287
287
-- pg_stat_statements.track = none
288
288
--
289
289
SET pg_stat_statements.track = 'none';
290
- SELECT pg_stat_statements_reset();
291
- pg_stat_statements_reset
292
- --------------------------
293
-
290
+ SELECT pg_stat_statements_reset() IS NOT NULL AS t ;
291
+ t
292
+ ---
293
+ t
294
294
(1 row)
295
295
296
296
SELECT 1 AS "one";
@@ -310,9 +310,9 @@ SELECT calls, rows, query FROM pg_stat_statements ORDER BY query COLLATE "C";
310
310
-------+------+-------
311
311
(0 rows)
312
312
313
- SELECT pg_stat_statements_reset();
314
- pg_stat_statements_reset
315
- --------------------------
316
-
313
+ SELECT pg_stat_statements_reset() IS NOT NULL AS t ;
314
+ t
315
+ ---
316
+ t
317
317
(1 row)
318
318
0 commit comments