107 lines
3.3 KiB
SQL
107 lines
3.3 KiB
SQL
/* contrib/polar_monitor/polar_monitor--1.1--1.2.sql */
|
|
|
|
|
|
-- complain if script is sourced in psql, rather than via ALTER EXTENSION
|
|
\echo Use "ALTER EXTENSION polar_monitor UPDATE TO '1.2'" to load this file. \quit
|
|
|
|
/* First we have to remove them from the extension */
|
|
ALTER EXTENSION polar_monitor DROP FUNCTION polar_get_replication_slots(OUT name, OUT name, OUT text,
|
|
OUT oid, OUT boolean, OUT boolean, OUT integer, OUT xid, OUT xid, OUT pg_lsn, OUT pg_lsn, OUT pg_lsn);
|
|
ALTER EXTENSION polar_monitor DROP VIEW polar_replication_slots;
|
|
|
|
/* Then we can drop them */
|
|
DROP VIEW polar_replication_slots;
|
|
DROP FUNCTION polar_get_replication_slots(OUT name, OUT name, OUT text, OUT oid, OUT boolean, OUT boolean,
|
|
OUT integer, OUT xid, OUT xid, OUT pg_lsn, OUT pg_lsn, OUT pg_lsn);
|
|
|
|
/* Now redefine */
|
|
CREATE OR replace FUNCTION polar_get_replication_slots(
|
|
OUT slot_name name,
|
|
OUT plugin name,
|
|
OUT slot_type text,
|
|
OUT datoid oid,
|
|
OUT temporary boolean,
|
|
OUT active boolean,
|
|
OUT active_pid integer,
|
|
OUT xmin xid,
|
|
OUT catalog_xmin xid,
|
|
OUT restart_lsn pg_lsn,
|
|
OUT confirmed_flush_lsn pg_lsn,
|
|
OUT polar_replica_apply_lsn pg_lsn,
|
|
OUT wal_status text,
|
|
OUT safe_wal_size int8
|
|
)
|
|
RETURNS record
|
|
AS 'MODULE_PATHNAME', 'polar_get_replication_slots'
|
|
LANGUAGE C PARALLEL SAFE;
|
|
|
|
CREATE VIEW polar_replication_slots AS
|
|
SELECT
|
|
L.slot_name,
|
|
L.plugin,
|
|
L.slot_type,
|
|
L.datoid,
|
|
D.datname AS database,
|
|
L.temporary,
|
|
L.active,
|
|
L.active_pid,
|
|
L.xmin,
|
|
L.catalog_xmin,
|
|
L.restart_lsn,
|
|
L.confirmed_flush_lsn,
|
|
L.polar_replica_apply_lsn,
|
|
L.wal_status,
|
|
L.safe_wal_size
|
|
FROM polar_get_replication_slots() AS L
|
|
LEFT JOIN pg_database D ON (L.datoid = D.oid);
|
|
|
|
-- POLAR: get flashback log write status
|
|
CREATE FUNCTION polar_stat_flashback_log_write(
|
|
OUT write_total_num bigint,
|
|
OUT bg_worker_write_num bigint,
|
|
OUT segs_added_total_num bigint,
|
|
OUT max_seg_no bigint,
|
|
OUT write_result pg_lsn,
|
|
OUT fbpoint_flog_start_ptr pg_lsn)
|
|
RETURNS RECORD
|
|
AS 'MODULE_PATHNAME', 'polar_stat_flashback_log_write'
|
|
LANGUAGE C PARALLEL SAFE;
|
|
|
|
-- POLAR: get flashback log buffer status
|
|
CREATE FUNCTION polar_stat_flashback_log_buf(
|
|
OUT insert_curr_ptr pg_lsn,
|
|
OUT insert_prev_ptr pg_lsn,
|
|
OUT initalized_upto pg_lsn,
|
|
OUT keep_wal_lsn pg_lsn,
|
|
OUT is_ready boolean)
|
|
RETURNS RECORD
|
|
AS 'MODULE_PATHNAME', 'polar_stat_flashback_log_buf'
|
|
LANGUAGE C PARALLEL SAFE;
|
|
|
|
-- POLAR: get flashback log list status
|
|
CREATE FUNCTION polar_stat_flashback_log_list(
|
|
OUT insert_total_num bigint,
|
|
OUT remove_total_num bigint,
|
|
OUT bg_remove_num bigint)
|
|
RETURNS RECORD
|
|
AS 'MODULE_PATHNAME', 'polar_stat_flashback_log_list'
|
|
LANGUAGE C PARALLEL SAFE;
|
|
|
|
-- POLAR: get flashback logindex status
|
|
CREATE FUNCTION polar_stat_flashback_logindex(
|
|
OUT max_ptr_in_mem bigint,
|
|
OUT max_ptr_in_disk bigint,
|
|
OUT is_ready boolean)
|
|
RETURNS RECORD
|
|
AS 'MODULE_PATHNAME', 'polar_stat_flashback_logindex'
|
|
LANGUAGE C PARALLEL SAFE;
|
|
|
|
-- POLAR: get flashback logindex queue status
|
|
CREATE FUNCTION polar_stat_flashback_logindex_queue(
|
|
OUT free_up_total_times bigint,
|
|
OUT read_from_file_rec_nums bigint,
|
|
OUT read_from_queue_rec_nums bigint)
|
|
RETURNS RECORD
|
|
AS 'MODULE_PATHNAME', 'polar_stat_flashback_logindex_queue'
|
|
LANGUAGE C PARALLEL SAFE;
|
|
|