gooderp18绿色标准版
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

76 lines
2.8KB

  1. /* contrib/pg_visibility/pg_visibility--1.1.sql */
  2. -- complain if script is sourced in psql, rather than via CREATE EXTENSION
  3. \echo Use "CREATE EXTENSION pg_visibility" to load this file. \quit
  4. -- Show visibility map information.
  5. CREATE FUNCTION pg_visibility_map(regclass, blkno bigint,
  6. all_visible OUT boolean,
  7. all_frozen OUT boolean)
  8. RETURNS record
  9. AS 'MODULE_PATHNAME', 'pg_visibility_map'
  10. LANGUAGE C STRICT;
  11. -- Show visibility map and page-level visibility information.
  12. CREATE FUNCTION pg_visibility(regclass, blkno bigint,
  13. all_visible OUT boolean,
  14. all_frozen OUT boolean,
  15. pd_all_visible OUT boolean)
  16. RETURNS record
  17. AS 'MODULE_PATHNAME', 'pg_visibility'
  18. LANGUAGE C STRICT;
  19. -- Show visibility map information for each block in a relation.
  20. CREATE FUNCTION pg_visibility_map(regclass, blkno OUT bigint,
  21. all_visible OUT boolean,
  22. all_frozen OUT boolean)
  23. RETURNS SETOF record
  24. AS 'MODULE_PATHNAME', 'pg_visibility_map_rel'
  25. LANGUAGE C STRICT;
  26. -- Show visibility map and page-level visibility information for each block.
  27. CREATE FUNCTION pg_visibility(regclass, blkno OUT bigint,
  28. all_visible OUT boolean,
  29. all_frozen OUT boolean,
  30. pd_all_visible OUT boolean)
  31. RETURNS SETOF record
  32. AS 'MODULE_PATHNAME', 'pg_visibility_rel'
  33. LANGUAGE C STRICT;
  34. -- Show summary of visibility map bits for a relation.
  35. CREATE FUNCTION pg_visibility_map_summary(regclass,
  36. OUT all_visible bigint, OUT all_frozen bigint)
  37. RETURNS record
  38. AS 'MODULE_PATHNAME', 'pg_visibility_map_summary'
  39. LANGUAGE C STRICT;
  40. -- Show tupleids of non-frozen tuples if any in all_frozen pages
  41. -- for a relation.
  42. CREATE FUNCTION pg_check_frozen(regclass, t_ctid OUT tid)
  43. RETURNS SETOF tid
  44. AS 'MODULE_PATHNAME', 'pg_check_frozen'
  45. LANGUAGE C STRICT;
  46. -- Show tupleids of dead tuples if any in all_visible pages for a relation.
  47. CREATE FUNCTION pg_check_visible(regclass, t_ctid OUT tid)
  48. RETURNS SETOF tid
  49. AS 'MODULE_PATHNAME', 'pg_check_visible'
  50. LANGUAGE C STRICT;
  51. -- Truncate the visibility map fork.
  52. CREATE FUNCTION pg_truncate_visibility_map(regclass)
  53. RETURNS void
  54. AS 'MODULE_PATHNAME', 'pg_truncate_visibility_map'
  55. LANGUAGE C STRICT
  56. PARALLEL UNSAFE; -- let's not make this any more dangerous
  57. -- Don't want these to be available to public.
  58. REVOKE ALL ON FUNCTION pg_visibility_map(regclass, bigint) FROM PUBLIC;
  59. REVOKE ALL ON FUNCTION pg_visibility(regclass, bigint) FROM PUBLIC;
  60. REVOKE ALL ON FUNCTION pg_visibility_map(regclass) FROM PUBLIC;
  61. REVOKE ALL ON FUNCTION pg_visibility(regclass) FROM PUBLIC;
  62. REVOKE ALL ON FUNCTION pg_visibility_map_summary(regclass) FROM PUBLIC;
  63. REVOKE ALL ON FUNCTION pg_check_frozen(regclass) FROM PUBLIC;
  64. REVOKE ALL ON FUNCTION pg_check_visible(regclass) FROM PUBLIC;
  65. REVOKE ALL ON FUNCTION pg_truncate_visibility_map(regclass) FROM PUBLIC;
上海开阖软件有限公司 沪ICP备12045867号-1