mirror of
https://github.com/timescale/timescaledb.git
synced 2025-05-15 18:13:18 +08:00
This patch removes the following functions/procedures: - add_data_node - alter_data_node - attach_data_node - create_distributed_hypertable - create_distributed_restore_point - delete_data_node - detach_data_node - distributed_exec - set_replication_factor - _timescaledb_functions.ping_data_node - _timescaledb_functions.remote_txn_heal_data_node - _timescaledb_functions.set_dist_id - _timescaledb_functions.set_peer_dist_id - _timescaledb_functions.show_connection_cache - _timescaledb_functions.validate_as_data_node - _timescaledb_internal.ping_data_node - _timescaledb_internal.remote_txn_heal_data_node - _timescaledb_internal.set_dist_id - _timescaledb_internal.set_peer_dist_id - _timescaledb_internal.show_connection_cache - _timescaledb_internal.validate_as_data_node
144 lines
6.6 KiB
SQL
144 lines
6.6 KiB
SQL
-- Manually drop the following functions / procedures since 'OR REPLACE' is missing in 2.13.0
|
|
DROP PROCEDURE IF EXISTS _timescaledb_functions.repair_relation_acls();
|
|
DROP FUNCTION IF EXISTS _timescaledb_functions.makeaclitem(regrole, regrole, text, bool);
|
|
|
|
CREATE FUNCTION _timescaledb_functions.ping_data_node(node_name NAME, timeout INTERVAL = NULL) RETURNS BOOLEAN
|
|
AS '@MODULE_PATHNAME@', 'ts_data_node_ping' LANGUAGE C VOLATILE;
|
|
|
|
CREATE FUNCTION _timescaledb_functions.remote_txn_heal_data_node(foreign_server_oid oid)
|
|
RETURNS INT
|
|
AS '@MODULE_PATHNAME@', 'ts_remote_txn_heal_data_node'
|
|
LANGUAGE C STRICT;
|
|
|
|
CREATE FUNCTION _timescaledb_functions.set_dist_id(dist_id UUID) RETURNS BOOL
|
|
AS '@MODULE_PATHNAME@', 'ts_dist_set_id' LANGUAGE C VOLATILE STRICT;
|
|
|
|
CREATE FUNCTION _timescaledb_functions.set_peer_dist_id(dist_id UUID) RETURNS BOOL
|
|
AS '@MODULE_PATHNAME@', 'ts_dist_set_peer_id' LANGUAGE C VOLATILE STRICT;
|
|
|
|
-- Function to validate that a node has local settings to function as
|
|
-- a data node. Throws error if validation fails.
|
|
CREATE FUNCTION _timescaledb_functions.validate_as_data_node() RETURNS void
|
|
AS '@MODULE_PATHNAME@', 'ts_dist_validate_as_data_node' LANGUAGE C VOLATILE STRICT;
|
|
|
|
CREATE FUNCTION _timescaledb_functions.show_connection_cache()
|
|
RETURNS TABLE (
|
|
node_name name,
|
|
user_name name,
|
|
host text,
|
|
port int,
|
|
database name,
|
|
backend_pid int,
|
|
connection_status text,
|
|
transaction_status text,
|
|
transaction_depth int,
|
|
processing boolean,
|
|
invalidated boolean)
|
|
AS '@MODULE_PATHNAME@', 'ts_remote_connection_cache_show' LANGUAGE C VOLATILE STRICT;
|
|
|
|
DROP FUNCTION IF EXISTS @extschema@.create_hypertable(relation REGCLASS, time_column_name NAME, partitioning_column NAME, number_partitions INTEGER, associated_schema_name NAME, associated_table_prefix NAME, chunk_time_interval ANYELEMENT, create_default_indexes BOOLEAN, if_not_exists BOOLEAN, partitioning_func REGPROC, migrate_data BOOLEAN, chunk_target_size TEXT, chunk_sizing_func REGPROC, time_partitioning_func REGPROC);
|
|
|
|
CREATE FUNCTION @extschema@.create_hypertable(
|
|
relation REGCLASS,
|
|
time_column_name NAME,
|
|
partitioning_column NAME = NULL,
|
|
number_partitions INTEGER = NULL,
|
|
associated_schema_name NAME = NULL,
|
|
associated_table_prefix NAME = NULL,
|
|
chunk_time_interval ANYELEMENT = NULL::bigint,
|
|
create_default_indexes BOOLEAN = TRUE,
|
|
if_not_exists BOOLEAN = FALSE,
|
|
partitioning_func REGPROC = NULL,
|
|
migrate_data BOOLEAN = FALSE,
|
|
chunk_target_size TEXT = NULL,
|
|
chunk_sizing_func REGPROC = '_timescaledb_functions.calculate_chunk_interval'::regproc,
|
|
time_partitioning_func REGPROC = NULL,
|
|
replication_factor INTEGER = NULL,
|
|
data_nodes NAME[] = NULL,
|
|
distributed BOOLEAN = NULL
|
|
) RETURNS TABLE(hypertable_id INT, schema_name NAME, table_name NAME, created BOOL) AS '@MODULE_PATHNAME@', 'ts_hypertable_create' LANGUAGE C VOLATILE;
|
|
|
|
CREATE FUNCTION @extschema@.create_distributed_hypertable(
|
|
relation REGCLASS,
|
|
time_column_name NAME,
|
|
partitioning_column NAME = NULL,
|
|
number_partitions INTEGER = NULL,
|
|
associated_schema_name NAME = NULL,
|
|
associated_table_prefix NAME = NULL,
|
|
chunk_time_interval ANYELEMENT = NULL::bigint,
|
|
create_default_indexes BOOLEAN = TRUE,
|
|
if_not_exists BOOLEAN = FALSE,
|
|
partitioning_func REGPROC = NULL,
|
|
migrate_data BOOLEAN = FALSE,
|
|
chunk_target_size TEXT = NULL,
|
|
chunk_sizing_func REGPROC = '_timescaledb_functions.calculate_chunk_interval'::regproc,
|
|
time_partitioning_func REGPROC = NULL,
|
|
replication_factor INTEGER = NULL,
|
|
data_nodes NAME[] = NULL
|
|
) RETURNS TABLE(hypertable_id INT, schema_name NAME, table_name NAME, created BOOL) AS '@MODULE_PATHNAME@', 'ts_hypertable_distributed_create' LANGUAGE C VOLATILE;
|
|
|
|
CREATE FUNCTION @extschema@.add_data_node(
|
|
node_name NAME,
|
|
host TEXT,
|
|
database NAME = NULL,
|
|
port INTEGER = NULL,
|
|
if_not_exists BOOLEAN = FALSE,
|
|
bootstrap BOOLEAN = TRUE,
|
|
password TEXT = NULL
|
|
) RETURNS TABLE(node_name NAME, host TEXT, port INTEGER, database NAME,
|
|
node_created BOOL, database_created BOOL, extension_created BOOL)
|
|
AS '@MODULE_PATHNAME@', 'ts_data_node_add' LANGUAGE C VOLATILE;
|
|
|
|
CREATE FUNCTION @extschema@.delete_data_node(
|
|
node_name NAME,
|
|
if_exists BOOLEAN = FALSE,
|
|
force BOOLEAN = FALSE,
|
|
repartition BOOLEAN = TRUE,
|
|
drop_database BOOLEAN = FALSE
|
|
) RETURNS BOOLEAN AS '@MODULE_PATHNAME@', 'ts_data_node_delete' LANGUAGE C VOLATILE;
|
|
|
|
CREATE FUNCTION @extschema@.attach_data_node(
|
|
node_name NAME,
|
|
hypertable REGCLASS,
|
|
if_not_attached BOOLEAN = FALSE,
|
|
repartition BOOLEAN = TRUE
|
|
) RETURNS TABLE(hypertable_id INTEGER, node_hypertable_id INTEGER, node_name NAME)
|
|
AS '@MODULE_PATHNAME@', 'ts_data_node_attach' LANGUAGE C VOLATILE;
|
|
|
|
CREATE FUNCTION @extschema@.detach_data_node(
|
|
node_name NAME,
|
|
hypertable REGCLASS = NULL,
|
|
if_attached BOOLEAN = FALSE,
|
|
force BOOLEAN = FALSE,
|
|
repartition BOOLEAN = TRUE,
|
|
drop_remote_data BOOLEAN = FALSE
|
|
) RETURNS INTEGER
|
|
AS '@MODULE_PATHNAME@', 'ts_data_node_detach' LANGUAGE C VOLATILE;
|
|
|
|
CREATE FUNCTION @extschema@.alter_data_node(
|
|
node_name NAME,
|
|
host TEXT = NULL,
|
|
database NAME = NULL,
|
|
port INTEGER = NULL,
|
|
available BOOLEAN = NULL
|
|
) RETURNS TABLE(node_name NAME, host TEXT, port INTEGER, database NAME, available BOOLEAN)
|
|
|
|
AS '@MODULE_PATHNAME@', 'ts_data_node_alter' LANGUAGE C VOLATILE;
|
|
CREATE PROCEDURE @extschema@.distributed_exec(
|
|
query TEXT,
|
|
node_list name[] = NULL,
|
|
transactional BOOLEAN = TRUE)
|
|
AS '@MODULE_PATHNAME@', 'ts_distributed_exec' LANGUAGE C;
|
|
|
|
CREATE FUNCTION @extschema@.create_distributed_restore_point(
|
|
name TEXT
|
|
) RETURNS TABLE(node_name NAME, node_type TEXT, restore_point pg_lsn)
|
|
AS '@MODULE_PATHNAME@', 'ts_create_distributed_restore_point' LANGUAGE C VOLATILE STRICT;
|
|
|
|
CREATE FUNCTION @extschema@.set_replication_factor(
|
|
hypertable REGCLASS,
|
|
replication_factor INTEGER
|
|
) RETURNS VOID
|
|
AS '@MODULE_PATHNAME@', 'ts_hypertable_distributed_set_replication_factor' LANGUAGE C VOLATILE;
|
|
|