From e822d6c9e5e0e8f228ad7e5dc26bbd2e85439b50 Mon Sep 17 00:00:00 2001 From: Alper Kocatas Date: Tue, 22 Apr 2025 07:16:01 +0000 Subject: [PATCH] Add citus_nodes view --- .../distributed/sql/citus--13.0-1--13.1-1.sql | 1 + .../sql/udfs/citus_nodes/13.1-1.sql | 18 ++++++++++++++++++ .../sql/udfs/citus_nodes/latest.sql | 18 ++++++++++++++++++ 3 files changed, 37 insertions(+) create mode 100644 src/backend/distributed/sql/udfs/citus_nodes/13.1-1.sql create mode 100644 src/backend/distributed/sql/udfs/citus_nodes/latest.sql diff --git a/src/backend/distributed/sql/citus--13.0-1--13.1-1.sql b/src/backend/distributed/sql/citus--13.0-1--13.1-1.sql index 4eefdf60a..4d0dc19a3 100644 --- a/src/backend/distributed/sql/citus--13.0-1--13.1-1.sql +++ b/src/backend/distributed/sql/citus--13.0-1--13.1-1.sql @@ -50,3 +50,4 @@ DROP VIEW IF EXISTS pg_catalog.citus_lock_waits; #include "udfs/citus_is_primary_node/13.1-1.sql" #include "udfs/citus_stat_counters/13.1-1.sql" #include "udfs/citus_stat_counters_reset/13.1-1.sql" +#include "udfs/citus_nodes/13.1-1.sql" diff --git a/src/backend/distributed/sql/udfs/citus_nodes/13.1-1.sql b/src/backend/distributed/sql/udfs/citus_nodes/13.1-1.sql new file mode 100644 index 000000000..3f7116ac7 --- /dev/null +++ b/src/backend/distributed/sql/udfs/citus_nodes/13.1-1.sql @@ -0,0 +1,18 @@ +SET search_path = 'pg_catalog'; +DROP VIEW IF EXISTS pg_catalog.citus_nodes; + +CREATE OR REPLACE VIEW citus.citus_nodes AS +SELECT + nodename, + nodeport, + CASE + WHEN groupid = 0 THEN 'coordinator' + ELSE 'worker' + END AS role, + isactive AS active +FROM pg_dist_node; + +ALTER VIEW citus.citus_nodes SET SCHEMA pg_catalog; +GRANT SELECT ON pg_catalog.citus_nodes TO PUBLIC; + +RESET search_path; diff --git a/src/backend/distributed/sql/udfs/citus_nodes/latest.sql b/src/backend/distributed/sql/udfs/citus_nodes/latest.sql new file mode 100644 index 000000000..3f7116ac7 --- /dev/null +++ b/src/backend/distributed/sql/udfs/citus_nodes/latest.sql @@ -0,0 +1,18 @@ +SET search_path = 'pg_catalog'; +DROP VIEW IF EXISTS pg_catalog.citus_nodes; + +CREATE OR REPLACE VIEW citus.citus_nodes AS +SELECT + nodename, + nodeport, + CASE + WHEN groupid = 0 THEN 'coordinator' + ELSE 'worker' + END AS role, + isactive AS active +FROM pg_dist_node; + +ALTER VIEW citus.citus_nodes SET SCHEMA pg_catalog; +GRANT SELECT ON pg_catalog.citus_nodes TO PUBLIC; + +RESET search_path;