gooderp18绿色标准版
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

137 行
5.4KB

  1. /* contrib/pgstattuple/pgstattuple--1.4--1.5.sql */
  2. -- complain if script is sourced in psql, rather than via ALTER EXTENSION
  3. \echo Use "ALTER EXTENSION pgstattuple UPDATE TO '1.5'" to load this file. \quit
  4. CREATE OR REPLACE FUNCTION pgstattuple(IN relname text,
  5. OUT table_len BIGINT, -- physical table length in bytes
  6. OUT tuple_count BIGINT, -- number of live tuples
  7. OUT tuple_len BIGINT, -- total tuples length in bytes
  8. OUT tuple_percent FLOAT8, -- live tuples in %
  9. OUT dead_tuple_count BIGINT, -- number of dead tuples
  10. OUT dead_tuple_len BIGINT, -- total dead tuples length in bytes
  11. OUT dead_tuple_percent FLOAT8, -- dead tuples in %
  12. OUT free_space BIGINT, -- free space in bytes
  13. OUT free_percent FLOAT8) -- free space in %
  14. AS 'MODULE_PATHNAME', 'pgstattuple_v1_5'
  15. LANGUAGE C STRICT PARALLEL SAFE;
  16. REVOKE EXECUTE ON FUNCTION pgstattuple(text) FROM PUBLIC;
  17. GRANT EXECUTE ON FUNCTION pgstattuple(text) TO pg_stat_scan_tables;
  18. CREATE OR REPLACE FUNCTION pgstatindex(IN relname text,
  19. OUT version INT,
  20. OUT tree_level INT,
  21. OUT index_size BIGINT,
  22. OUT root_block_no BIGINT,
  23. OUT internal_pages BIGINT,
  24. OUT leaf_pages BIGINT,
  25. OUT empty_pages BIGINT,
  26. OUT deleted_pages BIGINT,
  27. OUT avg_leaf_density FLOAT8,
  28. OUT leaf_fragmentation FLOAT8)
  29. AS 'MODULE_PATHNAME', 'pgstatindex_v1_5'
  30. LANGUAGE C STRICT PARALLEL SAFE;
  31. REVOKE EXECUTE ON FUNCTION pgstatindex(text) FROM PUBLIC;
  32. GRANT EXECUTE ON FUNCTION pgstatindex(text) TO pg_stat_scan_tables;
  33. CREATE OR REPLACE FUNCTION pg_relpages(IN relname text)
  34. RETURNS BIGINT
  35. AS 'MODULE_PATHNAME', 'pg_relpages_v1_5'
  36. LANGUAGE C STRICT PARALLEL SAFE;
  37. REVOKE EXECUTE ON FUNCTION pg_relpages(text) FROM PUBLIC;
  38. GRANT EXECUTE ON FUNCTION pg_relpages(text) TO pg_stat_scan_tables;
  39. /* New stuff in 1.1 begins here */
  40. CREATE OR REPLACE FUNCTION pgstatginindex(IN relname regclass,
  41. OUT version INT4,
  42. OUT pending_pages INT4,
  43. OUT pending_tuples BIGINT)
  44. AS 'MODULE_PATHNAME', 'pgstatginindex_v1_5'
  45. LANGUAGE C STRICT PARALLEL SAFE;
  46. REVOKE EXECUTE ON FUNCTION pgstatginindex(regclass) FROM PUBLIC;
  47. GRANT EXECUTE ON FUNCTION pgstatginindex(regclass) TO pg_stat_scan_tables;
  48. /* New stuff in 1.2 begins here */
  49. CREATE OR REPLACE FUNCTION pgstattuple(IN reloid regclass,
  50. OUT table_len BIGINT, -- physical table length in bytes
  51. OUT tuple_count BIGINT, -- number of live tuples
  52. OUT tuple_len BIGINT, -- total tuples length in bytes
  53. OUT tuple_percent FLOAT8, -- live tuples in %
  54. OUT dead_tuple_count BIGINT, -- number of dead tuples
  55. OUT dead_tuple_len BIGINT, -- total dead tuples length in bytes
  56. OUT dead_tuple_percent FLOAT8, -- dead tuples in %
  57. OUT free_space BIGINT, -- free space in bytes
  58. OUT free_percent FLOAT8) -- free space in %
  59. AS 'MODULE_PATHNAME', 'pgstattuplebyid_v1_5'
  60. LANGUAGE C STRICT PARALLEL SAFE;
  61. REVOKE EXECUTE ON FUNCTION pgstattuple(regclass) FROM PUBLIC;
  62. GRANT EXECUTE ON FUNCTION pgstattuple(regclass) TO pg_stat_scan_tables;
  63. CREATE OR REPLACE FUNCTION pgstatindex(IN relname regclass,
  64. OUT version INT,
  65. OUT tree_level INT,
  66. OUT index_size BIGINT,
  67. OUT root_block_no BIGINT,
  68. OUT internal_pages BIGINT,
  69. OUT leaf_pages BIGINT,
  70. OUT empty_pages BIGINT,
  71. OUT deleted_pages BIGINT,
  72. OUT avg_leaf_density FLOAT8,
  73. OUT leaf_fragmentation FLOAT8)
  74. AS 'MODULE_PATHNAME', 'pgstatindexbyid_v1_5'
  75. LANGUAGE C STRICT PARALLEL SAFE;
  76. REVOKE EXECUTE ON FUNCTION pgstatindex(regclass) FROM PUBLIC;
  77. GRANT EXECUTE ON FUNCTION pgstatindex(regclass) TO pg_stat_scan_tables;
  78. CREATE OR REPLACE FUNCTION pg_relpages(IN relname regclass)
  79. RETURNS BIGINT
  80. AS 'MODULE_PATHNAME', 'pg_relpagesbyid_v1_5'
  81. LANGUAGE C STRICT PARALLEL SAFE;
  82. REVOKE EXECUTE ON FUNCTION pg_relpages(regclass) FROM PUBLIC;
  83. GRANT EXECUTE ON FUNCTION pg_relpages(regclass) TO pg_stat_scan_tables;
  84. /* New stuff in 1.3 begins here */
  85. CREATE OR REPLACE FUNCTION pgstattuple_approx(IN reloid regclass,
  86. OUT table_len BIGINT, -- physical table length in bytes
  87. OUT scanned_percent FLOAT8, -- what percentage of the table's pages was scanned
  88. OUT approx_tuple_count BIGINT, -- estimated number of live tuples
  89. OUT approx_tuple_len BIGINT, -- estimated total length in bytes of live tuples
  90. OUT approx_tuple_percent FLOAT8, -- live tuples in % (based on estimate)
  91. OUT dead_tuple_count BIGINT, -- exact number of dead tuples
  92. OUT dead_tuple_len BIGINT, -- exact total length in bytes of dead tuples
  93. OUT dead_tuple_percent FLOAT8, -- dead tuples in % (based on estimate)
  94. OUT approx_free_space BIGINT, -- estimated free space in bytes
  95. OUT approx_free_percent FLOAT8) -- free space in % (based on estimate)
  96. AS 'MODULE_PATHNAME', 'pgstattuple_approx_v1_5'
  97. LANGUAGE C STRICT PARALLEL SAFE;
  98. REVOKE EXECUTE ON FUNCTION pgstattuple_approx(regclass) FROM PUBLIC;
  99. GRANT EXECUTE ON FUNCTION pgstattuple_approx(regclass) TO pg_stat_scan_tables;
  100. /* New stuff in 1.5 begins here */
  101. CREATE OR REPLACE FUNCTION pgstathashindex(IN relname regclass,
  102. OUT version INTEGER,
  103. OUT bucket_pages BIGINT,
  104. OUT overflow_pages BIGINT,
  105. OUT bitmap_pages BIGINT,
  106. OUT unused_pages BIGINT,
  107. OUT live_items BIGINT,
  108. OUT dead_items BIGINT,
  109. OUT free_percent FLOAT8)
  110. AS 'MODULE_PATHNAME', 'pgstathashindex'
  111. LANGUAGE C STRICT PARALLEL SAFE;
  112. REVOKE EXECUTE ON FUNCTION pgstathashindex(regclass) FROM PUBLIC;
  113. GRANT EXECUTE ON FUNCTION pgstathashindex(regclass) TO pg_stat_scan_tables;
上海开阖软件有限公司 沪ICP备12045867号-1