From eae65404d0cea6274c09d5e7bcd0826811f9685c Mon Sep 17 00:00:00 2001 From: Andres Freund Date: Tue, 12 Apr 2016 16:00:06 -0700 Subject: [PATCH] Grant SELECT for pg_catalog.pg_dist* to PUBLIC. Given pg_class et al. are readable by everyone there's little point in restricting read only access to citus catalogs. --- src/backend/distributed/citus--5.0--5.0-1.sql | 4 ++++ src/backend/distributed/citus.sql | 3 +++ 2 files changed, 7 insertions(+) diff --git a/src/backend/distributed/citus--5.0--5.0-1.sql b/src/backend/distributed/citus--5.0--5.0-1.sql index 249ae23fe..d1900078e 100644 --- a/src/backend/distributed/citus--5.0--5.0-1.sql +++ b/src/backend/distributed/citus--5.0--5.0-1.sql @@ -25,3 +25,7 @@ COMMENT ON FUNCTION pg_catalog.master_stage_shard_placement_row(int8, int4, int8 ALTER FUNCTION pg_catalog.citus_drop_trigger() SECURITY DEFINER; + +GRANT SELECT ON pg_catalog.pg_dist_partition TO public; +GRANT SELECT ON pg_catalog.pg_dist_shard TO public; +GRANT SELECT ON pg_catalog.pg_dist_shard_placement TO public; diff --git a/src/backend/distributed/citus.sql b/src/backend/distributed/citus.sql index beff1d468..60cc75079 100644 --- a/src/backend/distributed/citus.sql +++ b/src/backend/distributed/citus.sql @@ -33,6 +33,7 @@ CREATE TABLE citus.pg_dist_partition( partmethod "char" NOT NULL, partkey text NOT NULL ); +/* SELECT granted to PUBLIC in upgrade script */ CREATE UNIQUE INDEX pg_dist_partition_logical_relid_index ON citus.pg_dist_partition using btree(logicalrelid); ALTER TABLE citus.pg_dist_partition SET SCHEMA pg_catalog; @@ -45,6 +46,7 @@ CREATE TABLE citus.pg_dist_shard( shardminvalue text, shardmaxvalue text ); +/* SELECT granted to PUBLIC in upgrade script */ CREATE UNIQUE INDEX pg_dist_shard_shardid_index ON citus.pg_dist_shard using btree(shardid); CREATE INDEX pg_dist_shard_logical_relid_index @@ -58,6 +60,7 @@ CREATE TABLE citus.pg_dist_shard_placement( nodename text NOT NULL, nodeport int8 NOT NULL ) WITH oids; +/* SELECT granted to PUBLIC in upgrade script */ CREATE UNIQUE INDEX pg_dist_shard_placement_oid_index ON citus.pg_dist_shard_placement using btree(oid); CREATE INDEX pg_dist_shard_placement_shardid_index