|
0 min
58%
|
1 ms
|
3,240
cpa_test
|
SELECT pg_database_size($1)
|
|
0 min
21%
|
1 ms
|
810
cpa_test
|
SELECT name, setting, COALESCE(unit, $1), short_desc, vartype FROM pg_settings WHERE vartype IN ($2, $3, $4) AND name != $5
|
|
0 min
4%
|
0 ms
|
810
cpa_test
|
SELECT
pg_database.datname as datname,
tmp.mode as mode,
COALESCE(count, $1) as count
FROM
(
VALUES
($2),
($3),
($4),
($5),
($6),
($7),
($8),
($9),
($10)
) AS tmp(mode)
CROSS JOIN pg_database
LEFT JOIN (
SELECT
database,
lower(mode) AS mode,
count(*) AS count
FROM
pg_locks
WHERE
database IS NOT NULL
GROUP BY
database,
lower(mode)
) AS tmp2 ON tmp.mode = tmp2.mode
and pg_database.oid = tmp2.database
ORDER BY
1
|
|
0 min
3%
|
0 ms
|
810
cpa_test
|
SELECT
current_database() datname,
schemaname,
relname,
seq_scan,
seq_tup_read,
idx_scan,
idx_tup_fetch,
n_tup_ins,
n_tup_upd,
n_tup_del,
n_tup_hot_upd,
n_live_tup,
n_dead_tup,
n_mod_since_analyze,
COALESCE(last_vacuum, $1) as last_vacuum,
COALESCE(last_autovacuum, $2) as last_autovacuum,
COALESCE(last_analyze, $3) as last_analyze,
COALESCE(last_autoanalyze, $4) as last_autoanalyze,
vacuum_count,
autovacuum_count,
analyze_count,
autoanalyze_count,
pg_total_relation_size(relid) as total_size
FROM
pg_stat_user_tables
|
|
0 min
3%
|
0 ms
|
810
cpa_test
|
SELECT
current_database() datname,
schemaname,
relname,
heap_blks_read,
heap_blks_hit,
idx_blks_read,
idx_blks_hit,
toast_blks_read,
toast_blks_hit,
tidx_blks_read,
tidx_blks_hit
FROM pg_statio_user_tables
|
|
0 min
2%
|
0 ms
|
810
cpa_test
|
SELECT
pg_database.datname,
tmp.state,
tmp2.usename,
tmp2.application_name,
COALESCE(count,$1) as count,
COALESCE(max_tx_duration,$2) as max_tx_duration
FROM
(
VALUES ($3),
($4),
($5),
($6),
($7),
($8)
) AS tmp(state) CROSS JOIN pg_database
LEFT JOIN
(
SELECT
datname,
state,
usename,
application_name,
count(*) AS count,
MAX(EXTRACT($9 FROM now() - xact_start))::float AS max_tx_duration
FROM pg_stat_activity GROUP BY datname,state,usename,application_name) AS tmp2
ON tmp.state = tmp2.state AND pg_database.datname = tmp2.datname
|
|
0 min
1%
|
1 ms
|
73
cpa_test
|
WITH query_stats AS ( SELECT LEFT(query, $1) AS query, queryid AS query_hash, rolname AS user, ((total_plan_time + total_exec_time) / $2 / $3) AS total_minutes, ((total_plan_time + total_exec_time) / calls) AS average_time, calls FROM pg_stat_statements INNER JOIN pg_database ON pg_database.oid = pg_stat_statements.dbid INNER JOIN pg_roles ON pg_roles.oid = pg_stat_statements.userid WHERE calls > $4 AND pg_database.datname = current_database() ) SELECT query, query AS explainable_query, query_hash, query_stats.user, total_minutes, average_time, calls, total_minutes * $5 / (SELECT SUM(total_minutes) FROM query_stats) AS total_percent, (SELECT SUM(total_minutes) FROM query_stats) AS all_queries_total_minutes FROM query_stats ORDER BY "total_minutes" DESC LIMIT $6 /*pghero*/
|
|
0 min
1%
|
0 ms
|
810
cpa_test
|
SELECT
datid
,datname
,numbackends
,xact_commit
,xact_rollback
,blks_read
,blks_hit
,tup_returned
,tup_fetched
,tup_inserted
,tup_updated
,tup_deleted
,conflicts
,temp_files
,temp_bytes
,deadlocks
,blk_read_time
,blk_write_time
,stats_reset
FROM pg_stat_database
|
|
0 min
1%
|
0 ms
|
810
cpa_test
|
SELECT
COUNT(*) AS segments,
SUM(size) AS size
FROM pg_ls_waldir()
WHERE name ~ $1
|
|
0 min
0.8%
|
0 ms
|
810
cpa_test
|
SELECT *,
(case pg_is_in_recovery() when $1 then $2 else pg_current_wal_lsn() end) AS pg_current_wal_lsn,
(case pg_is_in_recovery() when $3 then $4 else pg_wal_lsn_diff(pg_current_wal_lsn(), pg_lsn($5))::float end) AS pg_current_wal_lsn_bytes,
(case pg_is_in_recovery() when $6 then $7 else pg_wal_lsn_diff(pg_current_wal_lsn(), replay_lsn)::float end) AS pg_wal_lsn_diff
FROM pg_stat_replication
|
|
0 min
0.7%
|
1 ms
|
50
cpa_test
|
SELECT t.oid, t.typname, t.typelem, t.typdelim, t.typinput, r.rngsubtype, t.typtype, t.typbasetype
FROM pg_type as t
LEFT JOIN pg_range as r ON oid = rngtypid
WHERE
t.typname IN ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17, $18, $19, $20, $21, $22, $23, $24, $25, $26, $27, $28, $29, $30, $31, $32, $33, $34, $35, $36, $37, $38, $39, $40)
|
|
0 min
0.5%
|
0 ms
|
810
cpa_test
|
SELECT * FROM pg_stat_database_conflicts
|
|
0 min
0.4%
|
0 ms
|
68
cpa_test
|
SELECT n.nspname AS schema, c.relname AS table, $1 - GREATEST(AGE(c.relfrozenxid), AGE(t.relfrozenxid)) AS transactions_left FROM pg_class c INNER JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace LEFT JOIN pg_class t ON c.reltoastrelid = t.oid WHERE c.relkind = $2 AND ($3 - GREATEST(AGE(c.relfrozenxid), AGE(t.relfrozenxid))) < $4 ORDER BY 3, 1, 2 /*pghero*/
|
|
0 min
0.4%
|
17 ms
|
1
cpa_test
|
CREATE EXTENSION IF NOT EXISTS pg_stat_statements
|
|
0 min
0.4%
|
0 ms
|
77
cpa_test
|
SELECT schemaname AS schema, t.relname AS table, ix.relname AS name, regexp_replace(pg_get_indexdef(i.indexrelid), $1, $2) AS columns, regexp_replace(pg_get_indexdef(i.indexrelid), $3, $4) AS using, indisunique AS unique, indisprimary AS primary, indisvalid AS valid, indexprs::text, indpred::text, pg_get_indexdef(i.indexrelid) AS definition FROM pg_index i INNER JOIN pg_class t ON t.oid = i.indrelid INNER JOIN pg_class ix ON ix.oid = i.indexrelid LEFT JOIN pg_stat_user_indexes ui ON ui.indexrelid = i.indexrelid WHERE schemaname IS NOT NULL ORDER BY 1, 2 /*pghero*/
|
|
0 min
0.3%
|
0 ms
|
810
cpa_test
|
SELECT
slot_name,
CASE WHEN pg_is_in_recovery() THEN
pg_last_wal_receive_lsn() - $1
ELSE
pg_current_wal_lsn() - $2
END AS current_wal_lsn,
COALESCE(confirmed_flush_lsn, $3) - $4,
active
FROM pg_replication_slots
|
|
0 min
0.3%
|
0 ms
|
810
cpa_test
|
SELECT *,
extract($1 from now() - last_archived_time) AS last_archive_age
FROM pg_stat_archiver
|
|
0 min
0.2%
|
0 ms
|
50
cpa_test
|
SELECT t.oid, t.typname, t.typelem, t.typdelim, t.typinput, r.rngsubtype, t.typtype, t.typbasetype
FROM pg_type as t
LEFT JOIN pg_range as r ON oid = rngtypid
WHERE
t.typelem IN ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17, $18, $19, $20, $21, $22, $23, $24, $25, $26, $27, $28, $29, $30, $31, $32, $33, $34, $35, $36, $37, $38, $39, $40, $41, $42, $43, $44, $45, $46, $47, $48)
|
|
0 min
0.2%
|
0 ms
|
1,620
cpa_test
|
SELECT version()
|
|
0 min
0.2%
|
0 ms
|
50
cpa_test
|
SET SESSION timezone TO 'UTC'
|
|
0 min
0.2%
|
0 ms
|
50
cpa_test
|
SELECT t.oid, t.typname
FROM pg_type as t
WHERE t.typname IN ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11)
|
|
0 min
0.2%
|
0 ms
|
50
cpa_test
|
SELECT t.oid, t.typname, t.typelem, t.typdelim, t.typinput, r.rngsubtype, t.typtype, t.typbasetype
FROM pg_type as t
LEFT JOIN pg_range as r ON oid = rngtypid
WHERE
t.typtype IN ($1, $2, $3)
|
|
0 min
0.2%
|
0 ms
|
810
cpa_test
|
SELECT
checkpoints_timed
,checkpoints_req
,checkpoint_write_time
,checkpoint_sync_time
,buffers_checkpoint
,buffers_clean
,maxwritten_clean
,buffers_backend
,buffers_backend_fsync
,buffers_alloc
,stats_reset
FROM pg_stat_bgwriter
|
|
0 min
0.1%
|
0 ms
|
68
cpa_test
|
SELECT pid, state, application_name AS source, age(NOW(), COALESCE(query_start, xact_start)) AS duration, (wait_event IS NOT NULL) AS waiting, query, COALESCE(query_start, xact_start) AS started_at, EXTRACT($1 FROM NOW() - COALESCE(query_start, xact_start)) * $2 AS duration_ms, usename AS user, backend_type FROM pg_stat_activity WHERE state <> $3 AND pid <> pg_backend_pid() AND datname = current_database() AND NOW() - COALESCE(query_start, xact_start) > interval $4 AND query <> $5 ORDER BY COALESCE(query_start, xact_start) DESC /*pghero*/
|
|
0 min
0.1%
|
1 ms
|
6
cpa_test
|
SELECT pg_database_size(current_database()) /*pghero*/
|
|
0 min
0.1%
|
0 ms
|
810
cpa_test
|
SELECT slot_name, database, active, pg_wal_lsn_diff(pg_current_wal_lsn(), restart_lsn)
FROM pg_replication_slots
|
|
0 min
0.1%
|
0 ms
|
810
cpa_test
|
SELECT pg_database.datname FROM pg_database
|
|
0 min
0.1%
|
0 ms
|
68
cpa_test
|
SELECT state, COUNT(*) AS connections FROM pg_stat_activity GROUP BY 1 ORDER BY 2 DESC, 1 /*pghero*/
|
|
0 min
< 0.1%
|
0 ms
|
68
cpa_test
|
SELECT n.nspname AS schema, c.relname AS sequence, has_sequence_privilege(c.oid, $1) AS readable FROM pg_class c INNER JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace WHERE c.relkind = $2 AND n.nspname NOT IN ($3, $4) /*pghero*/
|
|
0 min
< 0.1%
|
1 ms
|
4
cpa_test
|
-- Register a view on the function for ease of use.
CREATE VIEW pg_stat_statements AS
SELECT * FROM pg_stat_statements(true)
|
|
0 min
< 0.1%
|
0 ms
|
810
cpa_test
|
SELECT
CASE
WHEN NOT pg_is_in_recovery() THEN $1
WHEN pg_last_wal_receive_lsn () = pg_last_wal_replay_lsn () THEN $2
ELSE GREATEST ($3, EXTRACT($4 FROM (now() - pg_last_xact_replay_timestamp())))
END AS lag,
CASE
WHEN pg_is_in_recovery() THEN $5
ELSE $6
END as is_replica
|
|
0 min
< 0.1%
|
1 ms
|
2
cpa_test
|
WITH query_stats AS ( SELECT LEFT(query, $1) AS query, queryid AS query_hash, rolname AS user, ((total_plan_time + total_exec_time) / $2 / $3) AS total_minutes, ((total_plan_time + total_exec_time) / calls) AS average_time, calls FROM pg_stat_statements INNER JOIN pg_database ON pg_database.oid = pg_stat_statements.dbid INNER JOIN pg_roles ON pg_roles.oid = pg_stat_statements.userid WHERE calls > $4 AND pg_database.datname = current_database() ) SELECT query, query AS explainable_query, query_hash, query_stats.user, total_minutes, average_time, calls, total_minutes * $5 / (SELECT SUM(total_minutes) FROM query_stats) AS total_percent, (SELECT SUM(total_minutes) FROM query_stats) AS all_queries_total_minutes FROM query_stats ORDER BY "calls" DESC LIMIT $6 /*pghero*/
|
|
0 min
< 0.1%
|
2 ms
|
1
cpa_test
|
DO $$
BEGIN
IF NOT EXISTS (SELECT FROM pg_roles WHERE rolname = 'ml') THEN CREATE ROLE ml; END IF;
IF NOT EXISTS (SELECT FROM pg_roles WHERE rolname = 'result') THEN CREATE ROLE result; END IF;
END
$$
|
|
0 min
< 0.1%
|
0 ms
|
170
cpa_test
|
SELECT c.relname FROM pg_class c LEFT JOIN pg_namespace n ON n.oid = c.relnamespace WHERE n.nspname = ANY (current_schemas($1)) AND c.relname = $2 AND c.relkind IN ($3,$4)
|
|
0 min
< 0.1%
|
2 ms
|
1
cpa_test
|
/* Now redefine */
CREATE FUNCTION pg_stat_statements(IN showtext boolean,
OUT userid oid,
OUT dbid oid,
OUT toplevel bool,
OUT queryid bigint,
OUT query text,
OUT plans int8,
OUT total_plan_time float8,
OUT min_plan_time float8,
OUT max_plan_time float8,
OUT mean_plan_time float8,
OUT stddev_plan_time float8,
OUT calls int8,
OUT total_exec_time float8,
OUT min_exec_time float8,
OUT max_exec_time float8,
OUT mean_exec_time float8,
OUT stddev_exec_time float8,
OUT rows int8,
OUT shared_blks_hit int8,
OUT shared_blks_read int8,
OUT shared_blks_dirtied int8,
OUT shared_blks_written int8,
OUT local_blks_hit int8,
OUT local_blks_read int8,
OUT local_blks_dirtied int8,
OUT local_blks_written int8,
OUT temp_blks_read int8,
OUT temp_blks_written int8,
OUT blk_read_time float8,
OUT blk_write_time float8,
OUT wal_records int8,
OUT wal_fpi int8,
OUT wal_bytes numeric
)
RETURNS SETOF record
AS '$libdir/pg_stat_statements', 'pg_stat_statements_1_9'
LANGUAGE C STRICT VOLATILE PARALLEL SAFE
|
|
0 min
< 0.1%
|
1 ms
|
2
cpa_test
|
WITH query_stats AS ( SELECT LEFT(query, $1) AS query, queryid AS query_hash, rolname AS user, ((total_plan_time + total_exec_time) / $2 / $3) AS total_minutes, ((total_plan_time + total_exec_time) / calls) AS average_time, calls FROM pg_stat_statements INNER JOIN pg_database ON pg_database.oid = pg_stat_statements.dbid INNER JOIN pg_roles ON pg_roles.oid = pg_stat_statements.userid WHERE calls > $4 AND pg_database.datname = current_database() ) SELECT query, query AS explainable_query, query_hash, query_stats.user, total_minutes, average_time, calls, total_minutes * $5 / (SELECT SUM(total_minutes) FROM query_stats) AS total_percent, (SELECT SUM(total_minutes) FROM query_stats) AS all_queries_total_minutes FROM query_stats ORDER BY "average_time" DESC LIMIT $6 /*pghero*/
|
|
0 min
< 0.1%
|
1 ms
|
1
cpa_test
|
/* contrib/pg_stat_statements/pg_stat_statements--1.4.sql */
-- complain if script is sourced in psql, rather than via CREATE EXTENSION
-- Register functions.
CREATE FUNCTION pg_stat_statements_reset()
RETURNS void
AS '$libdir/pg_stat_statements'
LANGUAGE C PARALLEL SAFE
|
|
0 min
< 0.1%
|
0 ms
|
68
cpa_test
|
SELECT nsp.nspname AS schema, rel.relname AS table, con.conname AS name, fnsp.nspname AS referenced_schema, frel.relname AS referenced_table FROM pg_catalog.pg_constraint con INNER JOIN pg_catalog.pg_class rel ON rel.oid = con.conrelid LEFT JOIN pg_catalog.pg_class frel ON frel.oid = con.confrelid LEFT JOIN pg_catalog.pg_namespace nsp ON nsp.oid = con.connamespace LEFT JOIN pg_catalog.pg_namespace fnsp ON fnsp.oid = frel.relnamespace WHERE con.convalidated = $1 /*pghero*/
|
|
0 min
< 0.1%
|
0 ms
|
4
cpa_test
|
SELECT pg_stat_activity.pid, datname AS database, usename AS user, application_name AS source, client_addr AS ip, state, ssl FROM pg_stat_activity LEFT JOIN pg_stat_ssl ON pg_stat_activity.pid = pg_stat_ssl.pid ORDER BY pg_stat_activity.pid /*pghero*/
|
|
0 min
< 0.1%
|
0 ms
|
3
cpa_test
|
/* Then we can drop them */
DROP VIEW pg_stat_statements
|
|
0 min
< 0.1%
|
0 ms
|
50
cpa_test
|
SET client_min_messages TO 'warning'
|
|
0 min
< 0.1%
|
0 ms
|
6
cpa_test
|
SELECT schemaname AS schema, relname AS table, indexrelname AS index, pg_relation_size(i.indexrelid) AS size_bytes, idx_scan as index_scans FROM pg_stat_user_indexes ui INNER JOIN pg_index i ON ui.indexrelid = i.indexrelid WHERE NOT indisunique AND idx_scan <= $1 ORDER BY pg_relation_size(i.indexrelid) DESC, relname ASC /*pghero*/
|
|
0 min
< 0.1%
|
0 ms
|
6
cpa_test
|
SELECT n.nspname AS schema, c.relname AS relation, CASE c.relkind WHEN $1 THEN $2 WHEN $3 then $4 ELSE $5 END AS type, pg_table_size(c.oid) AS size_bytes FROM pg_class c LEFT JOIN pg_namespace n ON n.oid = c.relnamespace WHERE n.nspname NOT IN ($6, $7) AND n.nspname !~ $8 AND c.relkind IN ($9, $10, $11) ORDER BY pg_table_size(c.oid) DESC, 2 ASC /*pghero*/
|
|
0 min
< 0.1%
|
0 ms
|
7
cpa_test
|
SELECT schemaname AS schema, tablename AS table, attname AS column, null_frac, n_distinct FROM pg_stats WHERE schemaname = $1 AND tablename IN ($2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17, $18) ORDER BY 1, 2, 3 /*pghero*/
|
|
0 min
< 0.1%
|
0 ms
|
68
cpa_test
|
SELECT slot_name, database, active FROM pg_replication_slots /*pghero*/
|
|
0 min
< 0.1%
|
0 ms
|
4
cpa_test
|
SELECT schemaname AS schema, relname AS table, last_vacuum, last_autovacuum, last_analyze, last_autoanalyze, n_dead_tup AS dead_rows, n_live_tup AS live_rows FROM pg_stat_user_tables ORDER BY 1, 2 /*pghero*/
|
|
0 min
< 0.1%
|
0 ms
|
7
cpa_test
|
SELECT nspname AS schema, relname AS table, reltuples::bigint AS estimated_rows, pg_total_relation_size(pg_class.oid) AS size_bytes FROM pg_class INNER JOIN pg_namespace ON pg_namespace.oid = pg_class.relnamespace WHERE relkind = $1 AND nspname = $2 AND relname IN ($3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17, $18, $19) ORDER BY 1, 2 /*pghero*/
|
|
0 min
< 0.1%
|
0 ms
|
3
cpa_test
|
SELECT * FROM pg_stat_statements LIMIT $1 /*pghero*/
|
|
0 min
< 0.1%
|
0 ms
|
6
cpa_test
|
SELECT pid, state, application_name AS source, age(NOW(), COALESCE(query_start, xact_start)) AS duration, (wait_event IS NOT NULL) AS waiting, query, COALESCE(query_start, xact_start) AS started_at, EXTRACT($1 FROM NOW() - COALESCE(query_start, xact_start)) * $2 AS duration_ms, usename AS user, backend_type FROM pg_stat_activity WHERE state <> $3 AND pid <> pg_backend_pid() AND datname = current_database() ORDER BY COALESCE(query_start, xact_start) DESC /*pghero*/
|
|
0 min
< 0.1%
|
0 ms
|
3
cpa_test
|
/* contrib/pg_stat_statements/pg_stat_statements--1.7--1.8.sql */
-- complain if script is sourced in psql, rather than via ALTER EXTENSION
/* First we have to remove them from the extension */
ALTER EXTENSION pg_stat_statements DROP VIEW pg_stat_statements
|
|
0 min
< 0.1%
|
0 ms
|
4
cpa_test
|
GRANT SELECT ON pg_stat_statements TO PUBLIC
|
|
0 min
< 0.1%
|
0 ms
|
50
cpa_test
|
SHOW search_path
|
|
0 min
< 0.1%
|
0 ms
|
68
cpa_test
|
SELECT n.nspname AS table_schema, c.relname AS table, attname AS column, format_type(a.atttypid, a.atttypmod) AS column_type, pg_get_expr(d.adbin, d.adrelid) AS default_value FROM pg_catalog.pg_attribute a INNER JOIN pg_catalog.pg_class c ON c.oid = a.attrelid INNER JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace INNER JOIN pg_catalog.pg_attrdef d ON (a.attrelid, a.attnum) = (d.adrelid, d.adnum) WHERE NOT a.attisdropped AND a.attnum > $1 AND pg_get_expr(d.adbin, d.adrelid) LIKE $2 AND n.nspname NOT LIKE $3 /*pghero*/
|
|
0 min
< 0.1%
|
0 ms
|
1
cpa_test
|
CREATE VIEW pg_stat_statements_info AS
SELECT * FROM pg_stat_statements_info()
|
|
0 min
< 0.1%
|
0 ms
|
1
cpa_test
|
SELECT schemaname AS schema, tablename AS table, attname AS column, null_frac, n_distinct FROM pg_stats WHERE schemaname = $1 AND tablename IN ($2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16) ORDER BY 1, 2, 3 /*pghero*/
|
|
0 min
< 0.1%
|
0 ms
|
1
cpa_test
|
/* Then we can drop them */
DROP FUNCTION pg_stat_statements_reset()
|
|
0 min
< 0.1%
|
0 ms
|
1
cpa_test
|
/* contrib/pg_stat_statements/pg_stat_statements--1.4--1.5.sql */
-- complain if script is sourced in psql, rather than via ALTER EXTENSION
GRANT EXECUTE ON FUNCTION pg_stat_statements_reset() TO pg_read_all_stats
|
|
0 min
< 0.1%
|
0 ms
|
1
cpa_test
|
SELECT nspname AS schema, relname AS table, reltuples::bigint AS estimated_rows, pg_total_relation_size(pg_class.oid) AS size_bytes FROM pg_class INNER JOIN pg_namespace ON pg_namespace.oid = pg_class.relnamespace WHERE relkind = $1 AND nspname = $2 AND relname IN ($3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17, $18) ORDER BY 1, 2 /*pghero*/
|
|
0 min
< 0.1%
|
0 ms
|
1
cpa_test
|
SELECT schemaname AS schema, tablename AS table, attname AS column, null_frac, n_distinct FROM pg_stats WHERE schemaname = $1 AND tablename IN ($2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17) ORDER BY 1, 2, 3 /*pghero*/
|
|
0 min
< 0.1%
|
0 ms
|
50
cpa_test
|
SET standard_conforming_strings = on
|
|
0 min
< 0.1%
|
0 ms
|
1
cpa_test
|
CREATE FUNCTION pg_stat_statements(IN showtext boolean,
OUT userid oid,
OUT dbid oid,
OUT queryid bigint,
OUT query text,
OUT calls int8,
OUT total_time float8,
OUT min_time float8,
OUT max_time float8,
OUT mean_time float8,
OUT stddev_time float8,
OUT rows int8,
OUT shared_blks_hit int8,
OUT shared_blks_read int8,
OUT shared_blks_dirtied int8,
OUT shared_blks_written int8,
OUT local_blks_hit int8,
OUT local_blks_read int8,
OUT local_blks_dirtied int8,
OUT local_blks_written int8,
OUT temp_blks_read int8,
OUT temp_blks_written int8,
OUT blk_read_time float8,
OUT blk_write_time float8
)
RETURNS SETOF record
AS '$libdir/pg_stat_statements', 'pg_stat_statements_1_3'
LANGUAGE C STRICT VOLATILE PARALLEL SAFE
|
|
0 min
< 0.1%
|
0 ms
|
1
cpa_test
|
CREATE ROLE ml
|
|
0 min
< 0.1%
|
0 ms
|
50
cpa_test
|
SET intervalstyle = iso_8601
|
|
0 min
< 0.1%
|
0 ms
|
6
cpa_test
|
SELECT pid, phase FROM pg_stat_progress_vacuum WHERE datname = current_database() /*pghero*/
|
|
0 min
< 0.1%
|
0 ms
|
1
cpa_test
|
/* Now redefine */
CREATE FUNCTION pg_stat_statements_reset(IN userid Oid DEFAULT 0,
IN dbid Oid DEFAULT 0,
IN queryid bigint DEFAULT 0
)
RETURNS void
AS '$libdir/pg_stat_statements', 'pg_stat_statements_reset_1_7'
LANGUAGE C STRICT PARALLEL SAFE
|
|
0 min
< 0.1%
|
0 ms
|
1
cpa_test
|
/* contrib/pg_stat_statements/pg_stat_statements--1.8--1.9.sql */
-- complain if script is sourced in psql, rather than via ALTER EXTENSION
--- Define pg_stat_statements_info
CREATE FUNCTION pg_stat_statements_info(
OUT dealloc bigint,
OUT stats_reset timestamp with time zone
)
RETURNS record
AS '$libdir/pg_stat_statements'
LANGUAGE C STRICT VOLATILE PARALLEL SAFE
|
|
0 min
< 0.1%
|
0 ms
|
1
cpa_test
|
/* contrib/pg_stat_statements/pg_stat_statements--1.6--1.7.sql */
-- complain if script is sourced in psql, rather than via ALTER EXTENSION
/* First we have to remove them from the extension */
ALTER EXTENSION pg_stat_statements DROP FUNCTION pg_stat_statements_reset()
|
|
0 min
< 0.1%
|
0 ms
|
1
cpa_test
|
/* Now redefine */
CREATE FUNCTION pg_stat_statements(IN showtext boolean,
OUT userid oid,
OUT dbid oid,
OUT toplevel bool,
OUT queryid bigint,
OUT query text,
OUT plans int8,
OUT total_plan_time float8,
OUT min_plan_time float8,
OUT max_plan_time float8,
OUT mean_plan_time float8,
OUT stddev_plan_time float8,
OUT calls int8,
OUT total_exec_time float8,
OUT min_exec_time float8,
OUT max_exec_time float8,
OUT mean_exec_time float8,
OUT stddev_exec_time float8,
OUT rows int8,
OUT shared_blks_hit int8,
OUT shared_blks_read int8,
OUT shared_blks_dirtied int8,
OUT shared_blks_written int8,
OUT local_blks_hit int8,
OUT local_blks_read int8,
OUT local_blks_dirtied int8,
OUT local_blks_written int8,
OUT temp_blks_read int8,
OUT temp_blks_written int8,
OUT blk_read_time float8,
OUT blk_write_time float8,
OUT temp_blk_read_time float8,
OUT temp_blk_write_time float8,
OUT wal_records int8,
OUT wal_fpi int8,
OUT wal_bytes numeric,
OUT jit_functions int8,
OUT jit_generation_time float8,
OUT jit_inlining_count int8,
OUT jit_inlining_time float8,
OUT jit_optimization_count int8,
OUT jit_optimization_time float8,
OUT jit_emission_count int8,
OUT jit_emission_time float8
)
RETURNS SETOF record
AS '$libdir/pg_stat_statements', 'pg_stat_statements_1_10'
LANGUAGE C STRICT VOLATILE PARALLEL SAFE
|
|
0 min
< 0.1%
|
0 ms
|
3
cpa_test
|
DROP FUNCTION pg_stat_statements(boolean)
|
|
0 min
< 0.1%
|
0 ms
|
1
cpa_test
|
/* Now redefine */
CREATE FUNCTION pg_stat_statements(IN showtext boolean,
OUT userid oid,
OUT dbid oid,
OUT queryid bigint,
OUT query text,
OUT plans int8,
OUT total_plan_time float8,
OUT min_plan_time float8,
OUT max_plan_time float8,
OUT mean_plan_time float8,
OUT stddev_plan_time float8,
OUT calls int8,
OUT total_exec_time float8,
OUT min_exec_time float8,
OUT max_exec_time float8,
OUT mean_exec_time float8,
OUT stddev_exec_time float8,
OUT rows int8,
OUT shared_blks_hit int8,
OUT shared_blks_read int8,
OUT shared_blks_dirtied int8,
OUT shared_blks_written int8,
OUT local_blks_hit int8,
OUT local_blks_read int8,
OUT local_blks_dirtied int8,
OUT local_blks_written int8,
OUT temp_blks_read int8,
OUT temp_blks_written int8,
OUT blk_read_time float8,
OUT blk_write_time float8,
OUT wal_records int8,
OUT wal_fpi int8,
OUT wal_bytes numeric
)
RETURNS SETOF record
AS '$libdir/pg_stat_statements', 'pg_stat_statements_1_8'
LANGUAGE C STRICT VOLATILE PARALLEL SAFE
|
|
0 min
< 0.1%
|
0 ms
|
1
cpa_test
|
SELECT nspname AS schema, relname AS table, reltuples::bigint AS estimated_rows, pg_total_relation_size(pg_class.oid) AS size_bytes FROM pg_class INNER JOIN pg_namespace ON pg_namespace.oid = pg_class.relnamespace WHERE relkind = $1 AND nspname = $2 AND relname IN ($3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17) ORDER BY 1, 2 /*pghero*/
|
|
0 min
< 0.1%
|
0 ms
|
3
cpa_test
|
ALTER EXTENSION pg_stat_statements DROP FUNCTION pg_stat_statements(boolean)
|
|
0 min
< 0.1%
|
0 ms
|
1
cpa_test
|
-- Don't want this to be available to non-superusers.
REVOKE ALL ON FUNCTION pg_stat_statements_reset(Oid, Oid, bigint) FROM PUBLIC
|
|
0 min
< 0.1%
|
0 ms
|
1
cpa_test
|
GRANT SELECT ON pg_stat_statements_info TO PUBLIC
|
|
0 min
< 0.1%
|
0 ms
|
1
cpa_test
|
/* contrib/pg_stat_statements/pg_stat_statements--1.5--1.6.sql */
-- complain if script is sourced in psql, rather than via ALTER EXTENSION
-- Execution is only allowed for superusers, fixing issue with 1.5.
REVOKE EXECUTE ON FUNCTION pg_stat_statements_reset() FROM pg_read_all_stats
|
|
0 min
< 0.1%
|
0 ms
|
1
cpa_test
|
-- Don't want this to be available to non-superusers.
REVOKE ALL ON FUNCTION pg_stat_statements_reset() FROM PUBLIC
|
|
0 min
< 0.1%
|
0 ms
|
1
cpa_test
|
CREATE ROLE result
|
|
0 min
< 0.1%
|
0 ms
|
2
cpa_test
|
NOT EXISTS (SELECT FROM pg_roles WHERE rolname = $1)
|
|
0 min
< 0.1%
|
0 ms
|
4
cpa_test
|
SHOW max_connections /*pghero*/
|
|
0 min
< 0.1%
|
0 ms
|
3
cpa_test
|
SHOW server_version_num /*pghero*/
|
|
0 min
< 0.1%
|
0 ms
|
4
cpa_test
|
SHOW random_page_cost /*pghero*/
|
|
0 min
< 0.1%
|
0 ms
|
4
cpa_test
|
SHOW maintenance_work_mem /*pghero*/
|
|
0 min
< 0.1%
|
0 ms
|
4
cpa_test
|
SHOW checkpoint_completion_target /*pghero*/
|
|
0 min
< 0.1%
|
0 ms
|
4
cpa_test
|
SHOW wal_buffers /*pghero*/
|
|
0 min
< 0.1%
|
0 ms
|
4
cpa_test
|
SHOW default_statistics_target /*pghero*/
|
|
0 min
< 0.1%
|
0 ms
|
4
cpa_test
|
SHOW huge_pages /*pghero*/
|
|
0 min
< 0.1%
|
0 ms
|
3
cpa_test
|
SELECT pg_is_in_recovery() /*pghero*/
|
|
0 min
< 0.1%
|
0 ms
|
4
cpa_test
|
SHOW min_wal_size /*pghero*/
|
|
0 min
< 0.1%
|
0 ms
|
4
cpa_test
|
SHOW shared_buffers /*pghero*/
|
|
0 min
< 0.1%
|
0 ms
|
4
cpa_test
|
SHOW effective_cache_size /*pghero*/
|
|
0 min
< 0.1%
|
0 ms
|
4
cpa_test
|
SHOW max_wal_size /*pghero*/
|
|
0 min
< 0.1%
|
0 ms
|
4
cpa_test
|
SHOW effective_io_concurrency /*pghero*/
|
|
0 min
< 0.1%
|
0 ms
|
4
cpa_test
|
SHOW jit /*pghero*/
|
|
0 min
< 0.1%
|
0 ms
|
4
cpa_test
|
SHOW work_mem /*pghero*/
|
|
0 min
< 0.1%
|
0 ms
|
4
cpa_test
|
SHOW wal_compression /*pghero*/
|
|
0 min
< 0.1%
|
0 ms
|
2
cpa_test
|
SHOW server_version /*pghero*/
|