mirror of https://github.com/citusdata/citus.git
tmp2
parent
07a6d32885
commit
345b465b18
|
@ -120,6 +120,12 @@ REVOKE ALL PRIVILEGES ON ALL TABLES IN SCHEMA columnar FROM PUBLIC;
|
||||||
ALTER SCHEMA columnar RENAME TO columnar_internal;
|
ALTER SCHEMA columnar RENAME TO columnar_internal;
|
||||||
REVOKE ALL PRIVILEGES ON SCHEMA columnar_internal FROM PUBLIC;
|
REVOKE ALL PRIVILEGES ON SCHEMA columnar_internal FROM PUBLIC;
|
||||||
|
|
||||||
|
-- move citus_internal functions to columnar_internal
|
||||||
|
|
||||||
|
ALTER FUNCTION citus_internal.upgrade_columnar_storage(regclass) SET SCHEMA columnar_internal;
|
||||||
|
ALTER FUNCTION citus_internal.downgrade_columnar_storage(regclass) SET SCHEMA columnar_internal;
|
||||||
|
ALTER FUNCTION citus_internal.columnar_ensure_am_depends_catalog() SET SCHEMA columnar_internal;
|
||||||
|
|
||||||
-- create columnar schema with public usage privileges
|
-- create columnar schema with public usage privileges
|
||||||
|
|
||||||
CREATE SCHEMA columnar;
|
CREATE SCHEMA columnar;
|
||||||
|
|
|
@ -134,9 +134,6 @@ IS 'reset on or more options on a columnar table to the system defaults';
|
||||||
END IF;
|
END IF;
|
||||||
END$proc$;
|
END$proc$;
|
||||||
|
|
||||||
-- add citus_internal schema
|
|
||||||
CREATE SCHEMA IF NOT EXISTS citus_internal;
|
|
||||||
|
|
||||||
-- (this function being dropped in 10.0.3)->#include "udfs/columnar_ensure_objects_exist/10.0-1.sql"
|
-- (this function being dropped in 10.0.3)->#include "udfs/columnar_ensure_objects_exist/10.0-1.sql"
|
||||||
|
|
||||||
RESET search_path;
|
RESET search_path;
|
||||||
|
@ -175,30 +172,6 @@ BEGIN
|
||||||
END;
|
END;
|
||||||
$$;
|
$$;
|
||||||
|
|
||||||
--#include "udfs/upgrade_columnar_storage/10.2-1.sql"
|
|
||||||
CREATE OR REPLACE FUNCTION citus_internal.upgrade_columnar_storage(rel regclass)
|
|
||||||
RETURNS VOID
|
|
||||||
STRICT
|
|
||||||
LANGUAGE c AS 'MODULE_PATHNAME', $$upgrade_columnar_storage$$;
|
|
||||||
|
|
||||||
COMMENT ON FUNCTION citus_internal.upgrade_columnar_storage(regclass)
|
|
||||||
IS 'function to upgrade the columnar storage, if necessary';
|
|
||||||
|
|
||||||
|
|
||||||
--#include "udfs/downgrade_columnar_storage/10.2-1.sql"
|
|
||||||
|
|
||||||
CREATE OR REPLACE FUNCTION citus_internal.downgrade_columnar_storage(rel regclass)
|
|
||||||
RETURNS VOID
|
|
||||||
STRICT
|
|
||||||
LANGUAGE c AS 'MODULE_PATHNAME', $$downgrade_columnar_storage$$;
|
|
||||||
|
|
||||||
COMMENT ON FUNCTION citus_internal.downgrade_columnar_storage(regclass)
|
|
||||||
IS 'function to downgrade the columnar storage, if necessary';
|
|
||||||
|
|
||||||
-- upgrade storage for all columnar relations
|
|
||||||
SELECT citus_internal.upgrade_columnar_storage(c.oid) FROM pg_class c, pg_am a
|
|
||||||
WHERE c.relam = a.oid AND amname = 'columnar';
|
|
||||||
|
|
||||||
-- columnar--10.2-1--10.2-2.sql
|
-- columnar--10.2-1--10.2-2.sql
|
||||||
|
|
||||||
-- revoke read access for columnar.chunk from unprivileged
|
-- revoke read access for columnar.chunk from unprivileged
|
||||||
|
@ -221,49 +194,6 @@ REVOKE SELECT ON columnar.chunk FROM PUBLIC;
|
||||||
|
|
||||||
-- columnar--10.2-3--10.2-4.sql
|
-- columnar--10.2-3--10.2-4.sql
|
||||||
|
|
||||||
CREATE OR REPLACE FUNCTION citus_internal.columnar_ensure_am_depends_catalog()
|
|
||||||
RETURNS void
|
|
||||||
LANGUAGE plpgsql
|
|
||||||
SET search_path = pg_catalog
|
|
||||||
AS $func$
|
|
||||||
BEGIN
|
|
||||||
INSERT INTO pg_depend
|
|
||||||
SELECT -- Define a dependency edge from "columnar table access method" ..
|
|
||||||
'pg_am'::regclass::oid as classid,
|
|
||||||
(select oid from pg_am where amname = 'columnar') as objid,
|
|
||||||
0 as objsubid,
|
|
||||||
-- ... to each object that is registered to pg_class and that lives
|
|
||||||
-- in "columnar" schema. That contains catalog tables, indexes
|
|
||||||
-- created on them and the sequences created in "columnar" schema.
|
|
||||||
--
|
|
||||||
-- Given the possibility of user might have created their own objects
|
|
||||||
-- in columnar schema, we explicitly specify list of objects that we
|
|
||||||
-- are interested in.
|
|
||||||
'pg_class'::regclass::oid as refclassid,
|
|
||||||
columnar_schema_members.relname::regclass::oid as refobjid,
|
|
||||||
0 as refobjsubid,
|
|
||||||
'n' as deptype
|
|
||||||
FROM (VALUES ('columnar.chunk'),
|
|
||||||
('columnar.chunk_group'),
|
|
||||||
('columnar.chunk_group_pkey'),
|
|
||||||
('columnar.chunk_pkey'),
|
|
||||||
('columnar.options'),
|
|
||||||
('columnar.options_pkey'),
|
|
||||||
('columnar.storageid_seq'),
|
|
||||||
('columnar.stripe'),
|
|
||||||
('columnar.stripe_first_row_number_idx'),
|
|
||||||
('columnar.stripe_pkey')
|
|
||||||
) columnar_schema_members(relname)
|
|
||||||
-- Avoid inserting duplicate entries into pg_depend.
|
|
||||||
EXCEPT TABLE pg_depend;
|
|
||||||
END;
|
|
||||||
$func$;
|
|
||||||
COMMENT ON FUNCTION citus_internal.columnar_ensure_am_depends_catalog()
|
|
||||||
IS 'internal function responsible for creating dependencies from columnar '
|
|
||||||
'table access method to the rel objects in columnar schema';
|
|
||||||
|
|
||||||
|
|
||||||
SELECT citus_internal.columnar_ensure_am_depends_catalog();
|
|
||||||
|
|
||||||
-- columnar--11.0-2--11.1-1.sql
|
-- columnar--11.0-2--11.1-1.sql
|
||||||
|
|
||||||
|
@ -376,8 +306,28 @@ REVOKE ALL PRIVILEGES ON SCHEMA columnar_internal FROM PUBLIC;
|
||||||
CREATE SCHEMA columnar;
|
CREATE SCHEMA columnar;
|
||||||
GRANT USAGE ON SCHEMA columnar TO PUBLIC;
|
GRANT USAGE ON SCHEMA columnar TO PUBLIC;
|
||||||
|
|
||||||
|
--#include "udfs/upgrade_columnar_storage/10.2-1.sql"
|
||||||
|
CREATE OR REPLACE FUNCTION columnar_internal.upgrade_columnar_storage(rel regclass)
|
||||||
|
RETURNS VOID
|
||||||
|
STRICT
|
||||||
|
LANGUAGE c AS 'MODULE_PATHNAME', $$upgrade_columnar_storage$$;
|
||||||
|
|
||||||
|
COMMENT ON FUNCTION columnar_internal.upgrade_columnar_storage(regclass)
|
||||||
|
IS 'function to upgrade the columnar storage, if necessary';
|
||||||
|
|
||||||
|
|
||||||
|
--#include "udfs/downgrade_columnar_storage/10.2-1.sql"
|
||||||
|
|
||||||
|
CREATE OR REPLACE FUNCTION columnar_internal.downgrade_columnar_storage(rel regclass)
|
||||||
|
RETURNS VOID
|
||||||
|
STRICT
|
||||||
|
LANGUAGE c AS 'MODULE_PATHNAME', $$downgrade_columnar_storage$$;
|
||||||
|
|
||||||
|
COMMENT ON FUNCTION columnar_internal.downgrade_columnar_storage(regclass)
|
||||||
|
IS 'function to downgrade the columnar storage, if necessary';
|
||||||
|
|
||||||
-- update UDF to account for columnar_internal schema
|
-- update UDF to account for columnar_internal schema
|
||||||
CREATE OR REPLACE FUNCTION citus_internal.columnar_ensure_am_depends_catalog()
|
CREATE OR REPLACE FUNCTION columnar_internal.columnar_ensure_am_depends_catalog()
|
||||||
RETURNS void
|
RETURNS void
|
||||||
LANGUAGE plpgsql
|
LANGUAGE plpgsql
|
||||||
SET search_path = pg_catalog
|
SET search_path = pg_catalog
|
||||||
|
@ -422,10 +372,12 @@ BEGIN
|
||||||
EXCEPT TABLE pg_depend;
|
EXCEPT TABLE pg_depend;
|
||||||
END;
|
END;
|
||||||
$func$;
|
$func$;
|
||||||
COMMENT ON FUNCTION citus_internal.columnar_ensure_am_depends_catalog()
|
COMMENT ON FUNCTION columnar_internal.columnar_ensure_am_depends_catalog()
|
||||||
IS 'internal function responsible for creating dependencies from columnar '
|
IS 'internal function responsible for creating dependencies from columnar '
|
||||||
'table access method to the rel objects in columnar schema';
|
'table access method to the rel objects in columnar schema';
|
||||||
|
|
||||||
|
SELECT columnar_internal.columnar_ensure_am_depends_catalog();
|
||||||
|
|
||||||
-- add utility function
|
-- add utility function
|
||||||
|
|
||||||
CREATE FUNCTION columnar.get_storage_id(regclass) RETURNS bigint
|
CREATE FUNCTION columnar.get_storage_id(regclass) RETURNS bigint
|
||||||
|
|
|
@ -83,6 +83,12 @@ DROP FUNCTION columnar.get_storage_id(regclass);
|
||||||
|
|
||||||
DROP SCHEMA columnar;
|
DROP SCHEMA columnar;
|
||||||
|
|
||||||
|
-- move columnar_internal functions back to citus_internal
|
||||||
|
|
||||||
|
ALTER FUNCTION columnar_internal.upgrade_columnar_storage(regclass) SET SCHEMA citus_internal;
|
||||||
|
ALTER FUNCTION columnar_internal.downgrade_columnar_storage(regclass) SET SCHEMA citus_internal;
|
||||||
|
ALTER FUNCTION columnar_internal.columnar_ensure_am_depends_catalog() SET SCHEMA citus_internal;
|
||||||
|
|
||||||
ALTER SCHEMA columnar_internal RENAME TO columnar;
|
ALTER SCHEMA columnar_internal RENAME TO columnar;
|
||||||
GRANT USAGE ON SCHEMA columnar TO PUBLIC;
|
GRANT USAGE ON SCHEMA columnar TO PUBLIC;
|
||||||
GRANT SELECT ON columnar.options TO PUBLIC;
|
GRANT SELECT ON columnar.options TO PUBLIC;
|
||||||
|
|
|
@ -16,10 +16,7 @@ WHERE refclassid = 'pg_catalog.pg_extension'::pg_catalog.regclass
|
||||||
ORDER BY 1;
|
ORDER BY 1;
|
||||||
description
|
description
|
||||||
---------------------------------------------------------------------
|
---------------------------------------------------------------------
|
||||||
access method columnar
|
|
||||||
event trigger citus_cascade_to_partition
|
event trigger citus_cascade_to_partition
|
||||||
function alter_columnar_table_reset(regclass,boolean,boolean,boolean,boolean)
|
|
||||||
function alter_columnar_table_set(regclass,integer,integer,name,integer)
|
|
||||||
function alter_distributed_table(regclass,text,integer,text,boolean)
|
function alter_distributed_table(regclass,text,integer,text,boolean)
|
||||||
function alter_old_partitions_set_access_method(regclass,timestamp with time zone,name)
|
function alter_old_partitions_set_access_method(regclass,timestamp with time zone,name)
|
||||||
function alter_role_if_exists(text,text)
|
function alter_role_if_exists(text,text)
|
||||||
|
@ -62,8 +59,6 @@ ORDER BY 1;
|
||||||
function citus_finalize_upgrade_to_citus11(boolean)
|
function citus_finalize_upgrade_to_citus11(boolean)
|
||||||
function citus_finish_pg_upgrade()
|
function citus_finish_pg_upgrade()
|
||||||
function citus_get_active_worker_nodes()
|
function citus_get_active_worker_nodes()
|
||||||
function citus_internal.columnar_ensure_am_depends_catalog()
|
|
||||||
function citus_internal.downgrade_columnar_storage(regclass)
|
|
||||||
function citus_internal.find_groupid_for_node(text,integer)
|
function citus_internal.find_groupid_for_node(text,integer)
|
||||||
function citus_internal.pg_dist_node_trigger_func()
|
function citus_internal.pg_dist_node_trigger_func()
|
||||||
function citus_internal.pg_dist_rebalance_strategy_trigger_func()
|
function citus_internal.pg_dist_rebalance_strategy_trigger_func()
|
||||||
|
@ -71,7 +66,6 @@ ORDER BY 1;
|
||||||
function citus_internal.refresh_isolation_tester_prepared_statement()
|
function citus_internal.refresh_isolation_tester_prepared_statement()
|
||||||
function citus_internal.replace_isolation_tester_func()
|
function citus_internal.replace_isolation_tester_func()
|
||||||
function citus_internal.restore_isolation_tester_func()
|
function citus_internal.restore_isolation_tester_func()
|
||||||
function citus_internal.upgrade_columnar_storage(regclass)
|
|
||||||
function citus_internal_add_colocation_metadata(integer,integer,integer,regtype,oid)
|
function citus_internal_add_colocation_metadata(integer,integer,integer,regtype,oid)
|
||||||
function citus_internal_add_object_metadata(text,text[],text[],integer,integer,boolean)
|
function citus_internal_add_object_metadata(text,text[],text[],integer,integer,boolean)
|
||||||
function citus_internal_add_partition_metadata(regclass,"char",text,integer,"char")
|
function citus_internal_add_partition_metadata(regclass,"char",text,integer,"char")
|
||||||
|
@ -128,8 +122,6 @@ ORDER BY 1;
|
||||||
function citus_version()
|
function citus_version()
|
||||||
function column_name_to_column(regclass,text)
|
function column_name_to_column(regclass,text)
|
||||||
function column_to_column_name(regclass,text)
|
function column_to_column_name(regclass,text)
|
||||||
function columnar.get_storage_id(regclass)
|
|
||||||
function columnar_internal.columnar_handler(internal)
|
|
||||||
function coord_combine_agg(oid,cstring,anyelement)
|
function coord_combine_agg(oid,cstring,anyelement)
|
||||||
function coord_combine_agg_ffunc(internal,oid,cstring,anyelement)
|
function coord_combine_agg_ffunc(internal,oid,cstring,anyelement)
|
||||||
function coord_combine_agg_sfunc(internal,oid,cstring,anyelement)
|
function coord_combine_agg_sfunc(internal,oid,cstring,anyelement)
|
||||||
|
@ -242,18 +234,11 @@ ORDER BY 1;
|
||||||
function worker_save_query_explain_analyze(text,jsonb)
|
function worker_save_query_explain_analyze(text,jsonb)
|
||||||
schema citus
|
schema citus
|
||||||
schema citus_internal
|
schema citus_internal
|
||||||
schema columnar
|
|
||||||
schema columnar_internal
|
|
||||||
sequence columnar_internal.storageid_seq
|
|
||||||
sequence pg_dist_colocationid_seq
|
sequence pg_dist_colocationid_seq
|
||||||
sequence pg_dist_groupid_seq
|
sequence pg_dist_groupid_seq
|
||||||
sequence pg_dist_node_nodeid_seq
|
sequence pg_dist_node_nodeid_seq
|
||||||
sequence pg_dist_placement_placementid_seq
|
sequence pg_dist_placement_placementid_seq
|
||||||
sequence pg_dist_shardid_seq
|
sequence pg_dist_shardid_seq
|
||||||
table columnar_internal.chunk
|
|
||||||
table columnar_internal.chunk_group
|
|
||||||
table columnar_internal.options
|
|
||||||
table columnar_internal.stripe
|
|
||||||
table pg_dist_authinfo
|
table pg_dist_authinfo
|
||||||
table pg_dist_colocation
|
table pg_dist_colocation
|
||||||
table pg_dist_local_group
|
table pg_dist_local_group
|
||||||
|
@ -278,12 +263,7 @@ ORDER BY 1;
|
||||||
view citus_shards_on_worker
|
view citus_shards_on_worker
|
||||||
view citus_stat_activity
|
view citus_stat_activity
|
||||||
view citus_stat_statements
|
view citus_stat_statements
|
||||||
view columnar.chunk
|
|
||||||
view columnar.chunk_group
|
|
||||||
view columnar.options
|
|
||||||
view columnar.storage
|
|
||||||
view columnar.stripe
|
|
||||||
view pg_dist_shard_placement
|
view pg_dist_shard_placement
|
||||||
view time_partitions
|
view time_partitions
|
||||||
(269 rows)
|
(248 rows)
|
||||||
|
|
||||||
|
|
|
@ -63,7 +63,7 @@ SELECT version_major, version_minor, reserved_stripe_id, reserved_row_number
|
||||||
FROM columnar_storage_info('no_data_columnar_table');
|
FROM columnar_storage_info('no_data_columnar_table');
|
||||||
|
|
||||||
-- table is already upgraded, make sure that upgrade_columnar_metapage is no-op
|
-- table is already upgraded, make sure that upgrade_columnar_metapage is no-op
|
||||||
SELECT citus_internal.upgrade_columnar_storage(c.oid)
|
SELECT columnar_internal.upgrade_columnar_storage(c.oid)
|
||||||
FROM pg_class c, pg_am a
|
FROM pg_class c, pg_am a
|
||||||
WHERE c.relam = a.oid AND amname = 'columnar' and relname = 'columnar_table_2';
|
WHERE c.relam = a.oid AND amname = 'columnar' and relname = 'columnar_table_2';
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue