mirror of
https://github.com/postgres/postgres.git
synced 2025-12-19 17:02:53 +03:00
aio: Add pg_aios view
The new view lists all IO handles that are currently in use and is mainly useful for PG developers, but may also be useful when tuning PG. Bumps catversion. Reviewed-by: Noah Misch <noah@leadboat.com> Discussion: https://postgr.es/m/uvrtrknj4kdytuboidbhwclo4gxhswwcpgadptsjvjqcluzmah%40brqs62irg4dt
This commit is contained in:
@@ -3132,6 +3132,12 @@ DROP USER regress_locktable_user;
|
||||
-- switch to superuser
|
||||
\c -
|
||||
CREATE ROLE regress_readallstats;
|
||||
SELECT has_table_privilege('regress_readallstats','pg_aios','SELECT'); -- no
|
||||
has_table_privilege
|
||||
---------------------
|
||||
f
|
||||
(1 row)
|
||||
|
||||
SELECT has_table_privilege('regress_readallstats','pg_backend_memory_contexts','SELECT'); -- no
|
||||
has_table_privilege
|
||||
---------------------
|
||||
@@ -3145,6 +3151,12 @@ SELECT has_table_privilege('regress_readallstats','pg_shmem_allocations','SELECT
|
||||
(1 row)
|
||||
|
||||
GRANT pg_read_all_stats TO regress_readallstats;
|
||||
SELECT has_table_privilege('regress_readallstats','pg_aios','SELECT'); -- yes
|
||||
has_table_privilege
|
||||
---------------------
|
||||
t
|
||||
(1 row)
|
||||
|
||||
SELECT has_table_privilege('regress_readallstats','pg_backend_memory_contexts','SELECT'); -- yes
|
||||
has_table_privilege
|
||||
---------------------
|
||||
@@ -3159,6 +3171,12 @@ SELECT has_table_privilege('regress_readallstats','pg_shmem_allocations','SELECT
|
||||
|
||||
-- run query to ensure that functions within views can be executed
|
||||
SET ROLE regress_readallstats;
|
||||
SELECT COUNT(*) >= 0 AS ok FROM pg_aios;
|
||||
ok
|
||||
----
|
||||
t
|
||||
(1 row)
|
||||
|
||||
SELECT COUNT(*) >= 0 AS ok FROM pg_backend_memory_contexts;
|
||||
ok
|
||||
----
|
||||
|
||||
@@ -1286,6 +1286,22 @@ drop table cchild;
|
||||
SELECT viewname, definition FROM pg_views
|
||||
WHERE schemaname = 'pg_catalog'
|
||||
ORDER BY viewname;
|
||||
pg_aios| SELECT pid,
|
||||
io_id,
|
||||
io_generation,
|
||||
state,
|
||||
operation,
|
||||
off,
|
||||
length,
|
||||
target,
|
||||
handle_data_len,
|
||||
raw_result,
|
||||
result,
|
||||
target_desc,
|
||||
f_sync,
|
||||
f_localmem,
|
||||
f_buffered
|
||||
FROM pg_get_aios() pg_get_aios(pid, io_id, io_generation, state, operation, off, length, target, handle_data_len, raw_result, result, target_desc, f_sync, f_localmem, f_buffered);
|
||||
pg_available_extension_versions| SELECT e.name,
|
||||
e.version,
|
||||
(x.extname IS NOT NULL) AS installed,
|
||||
|
||||
@@ -1919,16 +1919,19 @@ DROP USER regress_locktable_user;
|
||||
|
||||
CREATE ROLE regress_readallstats;
|
||||
|
||||
SELECT has_table_privilege('regress_readallstats','pg_aios','SELECT'); -- no
|
||||
SELECT has_table_privilege('regress_readallstats','pg_backend_memory_contexts','SELECT'); -- no
|
||||
SELECT has_table_privilege('regress_readallstats','pg_shmem_allocations','SELECT'); -- no
|
||||
|
||||
GRANT pg_read_all_stats TO regress_readallstats;
|
||||
|
||||
SELECT has_table_privilege('regress_readallstats','pg_aios','SELECT'); -- yes
|
||||
SELECT has_table_privilege('regress_readallstats','pg_backend_memory_contexts','SELECT'); -- yes
|
||||
SELECT has_table_privilege('regress_readallstats','pg_shmem_allocations','SELECT'); -- yes
|
||||
|
||||
-- run query to ensure that functions within views can be executed
|
||||
SET ROLE regress_readallstats;
|
||||
SELECT COUNT(*) >= 0 AS ok FROM pg_aios;
|
||||
SELECT COUNT(*) >= 0 AS ok FROM pg_backend_memory_contexts;
|
||||
SELECT COUNT(*) >= 0 AS ok FROM pg_shmem_allocations;
|
||||
RESET ROLE;
|
||||
|
||||
Reference in New Issue
Block a user