CREATE SCHEMA "distributed planning"; SET search_path TO "distributed planning"; CREATE TABLE date_part_table (event_time timestamp, event int, user_id int) partition by range (event_time); SELECT create_distributed_table('date_part_table', 'user_id'); create_distributed_table --------------------------------------------------------------------- (1 row) -- an unnamed index CREATE INDEX ON date_part_table(user_id, event_time); --create named and long index with parameters CREATE INDEX event_idx ON date_part_table(event, event_time, user_id, user_id, event_time); SELECT create_time_partitions(table_name:='date_part_table', partition_interval:= '1 week', end_at:= '2020-01-20', start_from:='2020-01-01'); create_time_partitions --------------------------------------------------------------------- t (1 row) INSERT INTO date_part_table SELECT '2020-01-01'::timestamp + '3 hours'::interval * i, i, i % 20 FROM generate_series(0,100)i; CREATE TABLE test(x bigint, y bigint); SELECT create_distributed_table('test','x'); create_distributed_table --------------------------------------------------------------------- (1 row) CREATE TYPE new_type AS (n int, m text); CREATE TABLE test_2(x bigint, y bigint, z new_type); SELECT create_distributed_table('test_2','x'); create_distributed_table --------------------------------------------------------------------- (1 row) CREATE TABLE ref(a bigint, b bigint); SELECT create_reference_table('ref'); create_reference_table --------------------------------------------------------------------- (1 row) CREATE TABLE ref2(a bigint, b bigint); SELECT create_reference_table('ref2'); create_reference_table --------------------------------------------------------------------- (1 row) CREATE TABLE local(c bigint, d bigint); select citus_add_local_table_to_metadata('local'); citus_add_local_table_to_metadata --------------------------------------------------------------------- (1 row) CREATE TABLE non_binary_copy_test (key int PRIMARY KEY, value new_type); SELECT create_distributed_table('non_binary_copy_test', 'key'); create_distributed_table --------------------------------------------------------------------- (1 row) INSERT INTO non_binary_copy_test SELECT i, (i, 'citus9.5')::new_type FROM generate_series(0,1000)i; -- Test upsert with constraint CREATE TABLE upsert_test ( part_key int UNIQUE, other_col int, third_col int ); -- distribute the table SELECT create_distributed_table('upsert_test', 'part_key'); create_distributed_table --------------------------------------------------------------------- (1 row) -- do a regular insert INSERT INTO upsert_test (part_key, other_col) VALUES (1, 1), (2, 2) RETURNING *; part_key | other_col | third_col --------------------------------------------------------------------- 1 | 1 | 2 | 2 | (2 rows) create table t1(a int, b int, c int primary key, d int); ALTER TABLE t1 DROP COLUMN b; select create_distributed_table('t1','c'); create_distributed_table --------------------------------------------------------------------- (1 row) ALTER TABLE t1 DROP COLUMN d; CREATE TABLE companies ( id bigint NOT NULL, name character varying NOT NULL, created_at timestamp without time zone NOT NULL, a int, b int, updated_at timestamp without time zone NOT NULL, fmi boolean DEFAULT false NOT NULL, meta jsonb DEFAULT '{}'::jsonb NOT NULL, deleted_at timestamp without time zone, c int, flex boolean DEFAULT false ); ALTER TABLE ONLY companies ADD CONSTRAINT companies_pkey PRIMARY KEY (id); alter table companies drop column a; alter table companies drop column b; SELECT create_reference_table('companies'); create_reference_table --------------------------------------------------------------------- (1 row) alter table companies drop column c;