mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-11-27 07:21:09 +08:00
496899ccc2
All functions provided by this extension are PARALLEL SAFE. Given the general prohibition against write operations in parallel queries, it is perhaps a bit surprising that pg_stat_statements_reset() is parallel safe. But since it only modifies shared memory, not the database, it's OK. Andreas Karlsson
49 lines
1.4 KiB
SQL
49 lines
1.4 KiB
SQL
/* contrib/pg_stat_statements/pg_stat_statements--1.4.sql */
|
|
|
|
-- complain if script is sourced in psql, rather than via CREATE EXTENSION
|
|
\echo Use "CREATE EXTENSION pg_stat_statements" to load this file. \quit
|
|
|
|
-- Register functions.
|
|
CREATE FUNCTION pg_stat_statements_reset()
|
|
RETURNS void
|
|
AS 'MODULE_PATHNAME'
|
|
LANGUAGE C PARALLEL SAFE;
|
|
|
|
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 'MODULE_PATHNAME', 'pg_stat_statements_1_3'
|
|
LANGUAGE C STRICT VOLATILE PARALLEL SAFE;
|
|
|
|
-- Register a view on the function for ease of use.
|
|
CREATE VIEW pg_stat_statements AS
|
|
SELECT * FROM pg_stat_statements(true);
|
|
|
|
GRANT SELECT ON pg_stat_statements TO PUBLIC;
|
|
|
|
-- Don't want this to be available to non-superusers.
|
|
REVOKE ALL ON FUNCTION pg_stat_statements_reset() FROM PUBLIC;
|