mirror of https://github.com/citusdata/citus.git
Update SQL definitions to prepare for drain node functionality (#3179)
parent
4b9b4b0995
commit
a8bd2d58f5
|
@ -4,6 +4,8 @@ COMMENT ON COLUMN pg_catalog.pg_dist_node.shouldhaveshards IS
|
||||||
|
|
||||||
#include "udfs/master_set_node_property/9.1-1.sql"
|
#include "udfs/master_set_node_property/9.1-1.sql"
|
||||||
#include "udfs/master_drain_node/9.1-1.sql"
|
#include "udfs/master_drain_node/9.1-1.sql"
|
||||||
|
#include "udfs/rebalance_table_shards/9.1-1.sql"
|
||||||
|
#include "udfs/get_rebalance_table_shards_plan/9.1-1.sql"
|
||||||
|
|
||||||
-- we don't maintain replication factor of reference tables anymore and just
|
-- we don't maintain replication factor of reference tables anymore and just
|
||||||
-- use -1 instead.
|
-- use -1 instead.
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
-- get_rebalance_table_shards_plan shows the actual events that will be performed
|
||||||
|
-- if a rebalance operation will be performed with the same arguments, which allows users
|
||||||
|
-- to understand the impact of the change overall availability of the application and
|
||||||
|
-- network trafic.
|
||||||
|
--
|
||||||
|
DROP FUNCTION pg_catalog.get_rebalance_table_shards_plan;
|
||||||
|
CREATE OR REPLACE FUNCTION pg_catalog.get_rebalance_table_shards_plan(
|
||||||
|
relation regclass default NULL,
|
||||||
|
threshold float4 default 0,
|
||||||
|
max_shard_moves int default 1000000,
|
||||||
|
excluded_shard_list bigint[] default '{}',
|
||||||
|
drain_only boolean default false)
|
||||||
|
RETURNS TABLE (table_name regclass,
|
||||||
|
shardid bigint,
|
||||||
|
shard_size bigint,
|
||||||
|
sourcename text,
|
||||||
|
sourceport int,
|
||||||
|
targetname text,
|
||||||
|
targetport int)
|
||||||
|
AS 'MODULE_PATHNAME'
|
||||||
|
LANGUAGE C VOLATILE;
|
||||||
|
COMMENT ON FUNCTION pg_catalog.get_rebalance_table_shards_plan(regclass, float4, int, bigint[], boolean)
|
||||||
|
IS 'returns the list of shard placement moves to be done on a rebalance operation';
|
|
@ -3,11 +3,13 @@
|
||||||
-- to understand the impact of the change overall availability of the application and
|
-- to understand the impact of the change overall availability of the application and
|
||||||
-- network trafic.
|
-- network trafic.
|
||||||
--
|
--
|
||||||
|
DROP FUNCTION pg_catalog.get_rebalance_table_shards_plan;
|
||||||
CREATE OR REPLACE FUNCTION pg_catalog.get_rebalance_table_shards_plan(
|
CREATE OR REPLACE FUNCTION pg_catalog.get_rebalance_table_shards_plan(
|
||||||
relation regclass,
|
relation regclass default NULL,
|
||||||
threshold float4 default 0,
|
threshold float4 default 0,
|
||||||
max_shard_moves int default 1000000,
|
max_shard_moves int default 1000000,
|
||||||
excluded_shard_list bigint[] default '{}')
|
excluded_shard_list bigint[] default '{}',
|
||||||
|
drain_only boolean default false)
|
||||||
RETURNS TABLE (table_name regclass,
|
RETURNS TABLE (table_name regclass,
|
||||||
shardid bigint,
|
shardid bigint,
|
||||||
shard_size bigint,
|
shard_size bigint,
|
||||||
|
@ -16,6 +18,6 @@ CREATE OR REPLACE FUNCTION pg_catalog.get_rebalance_table_shards_plan(
|
||||||
targetname text,
|
targetname text,
|
||||||
targetport int)
|
targetport int)
|
||||||
AS 'MODULE_PATHNAME'
|
AS 'MODULE_PATHNAME'
|
||||||
LANGUAGE C STRICT VOLATILE;
|
LANGUAGE C VOLATILE;
|
||||||
COMMENT ON FUNCTION pg_catalog.get_rebalance_table_shards_plan(regclass, float4, int, bigint[])
|
COMMENT ON FUNCTION pg_catalog.get_rebalance_table_shards_plan(regclass, float4, int, bigint[], boolean)
|
||||||
IS 'returns the list of shard placement moves to be done on a rebalance operation';
|
IS 'returns the list of shard placement moves to be done on a rebalance operation';
|
||||||
|
|
|
@ -1,14 +1,11 @@
|
||||||
CREATE FUNCTION pg_catalog.master_drain_node(
|
CREATE FUNCTION pg_catalog.master_drain_node(
|
||||||
nodename text,
|
nodename text,
|
||||||
nodeport integer,
|
nodeport integer,
|
||||||
threshold float4 default 0,
|
|
||||||
max_shard_moves int default 1000000,
|
|
||||||
excluded_shard_list bigint[] default '{}',
|
|
||||||
shard_transfer_mode citus.shard_transfer_mode default 'auto')
|
shard_transfer_mode citus.shard_transfer_mode default 'auto')
|
||||||
RETURNS VOID
|
RETURNS VOID
|
||||||
LANGUAGE C STRICT
|
LANGUAGE C STRICT
|
||||||
AS 'MODULE_PATHNAME', $$master_drain_node$$;
|
AS 'MODULE_PATHNAME', $$master_drain_node$$;
|
||||||
COMMENT ON FUNCTION pg_catalog.master_drain_node(text,int,float4,int,bigint[],citus.shard_transfer_mode)
|
COMMENT ON FUNCTION pg_catalog.master_drain_node(text,int,citus.shard_transfer_mode)
|
||||||
IS 'mark a node to be drained of data and actually drain it as well';
|
IS 'mark a node to be drained of data and actually drain it as well';
|
||||||
|
|
||||||
REVOKE ALL ON FUNCTION pg_catalog.master_drain_node(text,int,float4,int,bigint[],citus.shard_transfer_mode) FROM PUBLIC;
|
REVOKE ALL ON FUNCTION pg_catalog.master_drain_node(text,int,citus.shard_transfer_mode) FROM PUBLIC;
|
||||||
|
|
|
@ -1,14 +1,11 @@
|
||||||
CREATE FUNCTION pg_catalog.master_drain_node(
|
CREATE FUNCTION pg_catalog.master_drain_node(
|
||||||
nodename text,
|
nodename text,
|
||||||
nodeport integer,
|
nodeport integer,
|
||||||
threshold float4 default 0,
|
|
||||||
max_shard_moves int default 1000000,
|
|
||||||
excluded_shard_list bigint[] default '{}',
|
|
||||||
shard_transfer_mode citus.shard_transfer_mode default 'auto')
|
shard_transfer_mode citus.shard_transfer_mode default 'auto')
|
||||||
RETURNS VOID
|
RETURNS VOID
|
||||||
LANGUAGE C STRICT
|
LANGUAGE C STRICT
|
||||||
AS 'MODULE_PATHNAME', $$master_drain_node$$;
|
AS 'MODULE_PATHNAME', $$master_drain_node$$;
|
||||||
COMMENT ON FUNCTION pg_catalog.master_drain_node(text,int,float4,int,bigint[],citus.shard_transfer_mode)
|
COMMENT ON FUNCTION pg_catalog.master_drain_node(text,int,citus.shard_transfer_mode)
|
||||||
IS 'mark a node to be drained of data and actually drain it as well';
|
IS 'mark a node to be drained of data and actually drain it as well';
|
||||||
|
|
||||||
REVOKE ALL ON FUNCTION pg_catalog.master_drain_node(text,int,float4,int,bigint[],citus.shard_transfer_mode) FROM PUBLIC;
|
REVOKE ALL ON FUNCTION pg_catalog.master_drain_node(text,int,citus.shard_transfer_mode) FROM PUBLIC;
|
||||||
|
|
|
@ -0,0 +1,16 @@
|
||||||
|
-- rebalance_table_shards uses the shard rebalancer's C UDF functions to rebalance
|
||||||
|
-- shards of the given relation.
|
||||||
|
--
|
||||||
|
DROP FUNCTION pg_catalog.rebalance_table_shards;
|
||||||
|
CREATE OR REPLACE FUNCTION pg_catalog.rebalance_table_shards(
|
||||||
|
relation regclass default NULL,
|
||||||
|
threshold float4 default 0,
|
||||||
|
max_shard_moves int default 1000000,
|
||||||
|
excluded_shard_list bigint[] default '{}',
|
||||||
|
shard_transfer_mode citus.shard_transfer_mode default 'auto',
|
||||||
|
drain_only boolean default false)
|
||||||
|
RETURNS VOID
|
||||||
|
AS 'MODULE_PATHNAME'
|
||||||
|
LANGUAGE C VOLATILE;
|
||||||
|
COMMENT ON FUNCTION pg_catalog.rebalance_table_shards(regclass, float4, int, bigint[], citus.shard_transfer_mode, boolean)
|
||||||
|
IS 'rebalance the shards of the given table across the worker nodes (including colocated shards of other tables)';
|
|
@ -1,14 +1,16 @@
|
||||||
-- rebalance_table_shards uses the shard rebalancer's C UDF functions to rebalance
|
-- rebalance_table_shards uses the shard rebalancer's C UDF functions to rebalance
|
||||||
-- shards of the given relation.
|
-- shards of the given relation.
|
||||||
--
|
--
|
||||||
|
DROP FUNCTION pg_catalog.rebalance_table_shards;
|
||||||
CREATE OR REPLACE FUNCTION pg_catalog.rebalance_table_shards(
|
CREATE OR REPLACE FUNCTION pg_catalog.rebalance_table_shards(
|
||||||
relation regclass,
|
relation regclass default NULL,
|
||||||
threshold float4 default 0,
|
threshold float4 default 0,
|
||||||
max_shard_moves int default 1000000,
|
max_shard_moves int default 1000000,
|
||||||
excluded_shard_list bigint[] default '{}',
|
excluded_shard_list bigint[] default '{}',
|
||||||
shard_transfer_mode citus.shard_transfer_mode default 'auto')
|
shard_transfer_mode citus.shard_transfer_mode default 'auto',
|
||||||
|
drain_only boolean default false)
|
||||||
RETURNS VOID
|
RETURNS VOID
|
||||||
AS 'MODULE_PATHNAME'
|
AS 'MODULE_PATHNAME'
|
||||||
LANGUAGE C STRICT VOLATILE;
|
LANGUAGE C VOLATILE;
|
||||||
COMMENT ON FUNCTION pg_catalog.rebalance_table_shards(regclass, float4, int, bigint[], citus.shard_transfer_mode)
|
COMMENT ON FUNCTION pg_catalog.rebalance_table_shards(regclass, float4, int, bigint[], citus.shard_transfer_mode, boolean)
|
||||||
IS 'rebalance the shards of the given table across the worker nodes (including colocated shards of other tables)';
|
IS 'rebalance the shards of the given table across the worker nodes (including colocated shards of other tables)';
|
||||||
|
|
Loading…
Reference in New Issue