mirror of https://github.com/citusdata/citus.git
Merge pull request #2268 from citusdata/add_poolinfo
Add pg_dist_poolinfo table cr: @marcocituspull/2212/head
commit
07ac909410
|
@ -1,6 +1,6 @@
|
|||
# Citus extension
|
||||
comment = 'Citus distributed database'
|
||||
default_version = '7.5-6'
|
||||
default_version = '7.5-7'
|
||||
module_pathname = '$libdir/citus'
|
||||
relocatable = false
|
||||
schema = pg_catalog
|
||||
|
|
|
@ -16,7 +16,7 @@ EXTVERSIONS = 5.0 5.0-1 5.0-2 \
|
|||
7.2-1 7.2-2 7.2-3 \
|
||||
7.3-1 7.3-2 7.3-3 \
|
||||
7.4-1 7.4-2 7.4-3 \
|
||||
7.5-1 7.5-2 7.5-3 7.5-4 7.5-5 7.5-6
|
||||
7.5-1 7.5-2 7.5-3 7.5-4 7.5-5 7.5-6 7.5-7
|
||||
|
||||
# All citus--*.sql files in the source directory
|
||||
DATA = $(patsubst $(citus_abs_srcdir)/%.sql,%.sql,$(wildcard $(citus_abs_srcdir)/$(EXTENSION)--*--*.sql))
|
||||
|
@ -212,6 +212,8 @@ $(EXTENSION)--7.5-5.sql: $(EXTENSION)--7.5-4.sql $(EXTENSION)--7.5-4--7.5-5.sql
|
|||
cat $^ > $@
|
||||
$(EXTENSION)--7.5-6.sql: $(EXTENSION)--7.5-5.sql $(EXTENSION)--7.5-5--7.5-6.sql
|
||||
cat $^ > $@
|
||||
$(EXTENSION)--7.5-7.sql: $(EXTENSION)--7.5-6.sql $(EXTENSION)--7.5-6--7.5-7.sql
|
||||
cat $^ > $@
|
||||
|
||||
NO_PGXS = 1
|
||||
|
||||
|
|
|
@ -0,0 +1,35 @@
|
|||
/* citus--7.5-6--7.5-7 */
|
||||
SET search_path = 'pg_catalog';
|
||||
|
||||
CREATE FUNCTION pg_catalog.poolinfo_valid(text)
|
||||
RETURNS boolean
|
||||
LANGUAGE C STRICT
|
||||
AS 'MODULE_PATHNAME', $$poolinfo_valid$$;
|
||||
COMMENT ON FUNCTION pg_catalog.poolinfo_valid(text) IS 'returns whether a poolinfo is valid';
|
||||
|
||||
CREATE TABLE citus.pg_dist_poolinfo (
|
||||
nodeid integer PRIMARY KEY
|
||||
REFERENCES pg_dist_node(nodeid)
|
||||
ON DELETE CASCADE,
|
||||
poolinfo text NOT NULL
|
||||
CONSTRAINT poolinfo_valid
|
||||
CHECK (poolinfo_valid(poolinfo))
|
||||
);
|
||||
|
||||
ALTER TABLE citus.pg_dist_poolinfo SET SCHEMA pg_catalog;
|
||||
GRANT SELECT ON pg_catalog.pg_dist_poolinfo TO public;
|
||||
|
||||
ALTER FUNCTION master_dist_authinfo_cache_invalidate()
|
||||
RENAME TO master_conninfo_cache_invalidate;
|
||||
|
||||
CREATE TRIGGER dist_poolinfo_cache_invalidate
|
||||
AFTER INSERT OR UPDATE OR DELETE OR TRUNCATE
|
||||
ON pg_catalog.pg_dist_poolinfo
|
||||
FOR EACH STATEMENT EXECUTE PROCEDURE master_conninfo_cache_invalidate();
|
||||
|
||||
CREATE TRIGGER dist_poolinfo_task_tracker_cache_invalidate
|
||||
AFTER INSERT OR UPDATE OR DELETE OR TRUNCATE
|
||||
ON pg_catalog.pg_dist_poolinfo
|
||||
FOR EACH STATEMENT EXECUTE PROCEDURE task_tracker_conninfo_cache_invalidate();
|
||||
|
||||
RESET search_path;
|
|
@ -1,6 +1,6 @@
|
|||
# Citus extension
|
||||
comment = 'Citus distributed database'
|
||||
default_version = '7.5-6'
|
||||
default_version = '7.5-7'
|
||||
module_pathname = '$libdir/citus'
|
||||
relocatable = false
|
||||
schema = pg_catalog
|
||||
|
|
|
@ -222,6 +222,7 @@ PG_FUNCTION_INFO_V1(master_dist_local_group_cache_invalidate);
|
|||
PG_FUNCTION_INFO_V1(master_dist_authinfo_cache_invalidate);
|
||||
PG_FUNCTION_INFO_V1(role_exists);
|
||||
PG_FUNCTION_INFO_V1(authinfo_valid);
|
||||
PG_FUNCTION_INFO_V1(poolinfo_valid);
|
||||
|
||||
|
||||
/*
|
||||
|
@ -3612,3 +3613,20 @@ authinfo_valid(PG_FUNCTION_ARGS)
|
|||
"with Citus, please contact us at "
|
||||
"https://citusdata.com/about/contact_us")));
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* poolinfo_valid is a check constraint which errors on all rows, intended for
|
||||
* use in prohibiting writes to pg_dist_poolinfo in Citus Community.
|
||||
*/
|
||||
Datum
|
||||
poolinfo_valid(PG_FUNCTION_ARGS)
|
||||
{
|
||||
ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
|
||||
errmsg("cannot write to pg_dist_poolinfo"),
|
||||
errdetail("Citus Community Edition does not support the use of "
|
||||
"pooler options."),
|
||||
errhint("To learn more about using advanced pooling schemes "
|
||||
"with Citus, please contact us at "
|
||||
"https://citusdata.com/about/contact_us")));
|
||||
}
|
||||
|
|
|
@ -38,7 +38,7 @@ extern char * PlacementUpsertCommand(uint64 shardId, uint64 placementId, int sha
|
|||
extern void CreateTableMetadataOnWorkers(Oid relationId);
|
||||
|
||||
|
||||
#define DELETE_ALL_NODES "TRUNCATE pg_dist_node"
|
||||
#define DELETE_ALL_NODES "TRUNCATE pg_dist_node CASCADE"
|
||||
#define REMOVE_ALL_CLUSTERED_TABLES_COMMAND \
|
||||
"SELECT worker_drop_distributed_table(logicalrelid) FROM pg_dist_partition"
|
||||
#define DISABLE_DDL_PROPAGATION "SET citus.enable_ddl_propagation TO 'off'"
|
||||
|
|
|
@ -142,6 +142,7 @@ ALTER EXTENSION citus UPDATE TO '7.5-3';
|
|||
ALTER EXTENSION citus UPDATE TO '7.5-4';
|
||||
ALTER EXTENSION citus UPDATE TO '7.5-5';
|
||||
ALTER EXTENSION citus UPDATE TO '7.5-6';
|
||||
ALTER EXTENSION citus UPDATE TO '7.5-7';
|
||||
-- show running version
|
||||
SHOW citus.version;
|
||||
citus.version
|
||||
|
|
|
@ -30,7 +30,7 @@ SELECT unnest(master_metadata_snapshot());
|
|||
unnest
|
||||
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
SELECT worker_drop_distributed_table(logicalrelid) FROM pg_dist_partition
|
||||
TRUNCATE pg_dist_node
|
||||
TRUNCATE pg_dist_node CASCADE
|
||||
INSERT INTO pg_dist_node (nodeid, groupid, nodename, nodeport, noderack, hasmetadata, isactive, noderole, nodecluster) VALUES (1, 1, 'localhost', 57637, 'default', FALSE, TRUE, 'primary'::noderole, 'default'),(2, 2, 'localhost', 57638, 'default', FALSE, TRUE, 'primary'::noderole, 'default')
|
||||
(3 rows)
|
||||
|
||||
|
@ -56,7 +56,7 @@ SELECT unnest(master_metadata_snapshot());
|
|||
unnest
|
||||
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
SELECT worker_drop_distributed_table(logicalrelid) FROM pg_dist_partition
|
||||
TRUNCATE pg_dist_node
|
||||
TRUNCATE pg_dist_node CASCADE
|
||||
INSERT INTO pg_dist_node (nodeid, groupid, nodename, nodeport, noderack, hasmetadata, isactive, noderole, nodecluster) VALUES (1, 1, 'localhost', 57637, 'default', FALSE, TRUE, 'primary'::noderole, 'default'),(2, 2, 'localhost', 57638, 'default', FALSE, TRUE, 'primary'::noderole, 'default')
|
||||
SELECT worker_apply_sequence_command ('CREATE SEQUENCE IF NOT EXISTS mx_test_table_col_3_seq INCREMENT BY 1 MINVALUE 1 MAXVALUE 9223372036854775807 START WITH 1 NO CYCLE')
|
||||
ALTER SEQUENCE public.mx_test_table_col_3_seq OWNER TO postgres
|
||||
|
@ -75,7 +75,7 @@ SELECT unnest(master_metadata_snapshot());
|
|||
unnest
|
||||
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
SELECT worker_drop_distributed_table(logicalrelid) FROM pg_dist_partition
|
||||
TRUNCATE pg_dist_node
|
||||
TRUNCATE pg_dist_node CASCADE
|
||||
INSERT INTO pg_dist_node (nodeid, groupid, nodename, nodeport, noderack, hasmetadata, isactive, noderole, nodecluster) VALUES (1, 1, 'localhost', 57637, 'default', FALSE, TRUE, 'primary'::noderole, 'default'),(2, 2, 'localhost', 57638, 'default', FALSE, TRUE, 'primary'::noderole, 'default')
|
||||
SELECT worker_apply_sequence_command ('CREATE SEQUENCE IF NOT EXISTS mx_test_table_col_3_seq INCREMENT BY 1 MINVALUE 1 MAXVALUE 9223372036854775807 START WITH 1 NO CYCLE')
|
||||
ALTER SEQUENCE public.mx_test_table_col_3_seq OWNER TO postgres
|
||||
|
@ -98,7 +98,7 @@ SELECT unnest(master_metadata_snapshot());
|
|||
unnest
|
||||
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
SELECT worker_drop_distributed_table(logicalrelid) FROM pg_dist_partition
|
||||
TRUNCATE pg_dist_node
|
||||
TRUNCATE pg_dist_node CASCADE
|
||||
INSERT INTO pg_dist_node (nodeid, groupid, nodename, nodeport, noderack, hasmetadata, isactive, noderole, nodecluster) VALUES (1, 1, 'localhost', 57637, 'default', FALSE, TRUE, 'primary'::noderole, 'default'),(2, 2, 'localhost', 57638, 'default', FALSE, TRUE, 'primary'::noderole, 'default')
|
||||
CREATE SCHEMA IF NOT EXISTS mx_testing_schema AUTHORIZATION postgres
|
||||
SELECT worker_apply_sequence_command ('CREATE SEQUENCE IF NOT EXISTS mx_testing_schema.mx_test_table_col_3_seq INCREMENT BY 1 MINVALUE 1 MAXVALUE 9223372036854775807 START WITH 1 NO CYCLE')
|
||||
|
@ -127,7 +127,7 @@ SELECT unnest(master_metadata_snapshot());
|
|||
unnest
|
||||
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
SELECT worker_drop_distributed_table(logicalrelid) FROM pg_dist_partition
|
||||
TRUNCATE pg_dist_node
|
||||
TRUNCATE pg_dist_node CASCADE
|
||||
INSERT INTO pg_dist_node (nodeid, groupid, nodename, nodeport, noderack, hasmetadata, isactive, noderole, nodecluster) VALUES (1, 1, 'localhost', 57637, 'default', FALSE, TRUE, 'primary'::noderole, 'default'),(2, 2, 'localhost', 57638, 'default', FALSE, TRUE, 'primary'::noderole, 'default')
|
||||
CREATE SCHEMA IF NOT EXISTS mx_testing_schema AUTHORIZATION postgres
|
||||
SELECT worker_apply_sequence_command ('CREATE SEQUENCE IF NOT EXISTS mx_testing_schema.mx_test_table_col_3_seq INCREMENT BY 1 MINVALUE 1 MAXVALUE 9223372036854775807 START WITH 1 NO CYCLE')
|
||||
|
@ -149,7 +149,7 @@ SELECT unnest(master_metadata_snapshot());
|
|||
unnest
|
||||
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
SELECT worker_drop_distributed_table(logicalrelid) FROM pg_dist_partition
|
||||
TRUNCATE pg_dist_node
|
||||
TRUNCATE pg_dist_node CASCADE
|
||||
INSERT INTO pg_dist_node (nodeid, groupid, nodename, nodeport, noderack, hasmetadata, isactive, noderole, nodecluster) VALUES (1, 1, 'localhost', 57637, 'default', FALSE, TRUE, 'primary'::noderole, 'default'),(2, 2, 'localhost', 57638, 'default', FALSE, TRUE, 'primary'::noderole, 'default')
|
||||
CREATE SCHEMA IF NOT EXISTS mx_testing_schema AUTHORIZATION postgres
|
||||
SELECT worker_apply_sequence_command ('CREATE SEQUENCE IF NOT EXISTS mx_testing_schema.mx_test_table_col_3_seq INCREMENT BY 1 MINVALUE 1 MAXVALUE 9223372036854775807 START WITH 1 NO CYCLE')
|
||||
|
|
|
@ -142,6 +142,7 @@ ALTER EXTENSION citus UPDATE TO '7.5-3';
|
|||
ALTER EXTENSION citus UPDATE TO '7.5-4';
|
||||
ALTER EXTENSION citus UPDATE TO '7.5-5';
|
||||
ALTER EXTENSION citus UPDATE TO '7.5-6';
|
||||
ALTER EXTENSION citus UPDATE TO '7.5-7';
|
||||
|
||||
-- show running version
|
||||
SHOW citus.version;
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
#define CITUS_EDITION "community"
|
||||
|
||||
/* Extension version expected by this Citus build */
|
||||
#define CITUS_EXTENSIONVERSION "7.5-3"
|
||||
#define CITUS_EXTENSIONVERSION "7.5-7"
|
||||
|
||||
/* Citus major version as a string */
|
||||
#define CITUS_MAJORVERSION "7.5"
|
||||
|
|
Loading…
Reference in New Issue