@@ -23,28 +23,52 @@ CREATE TABLE entities (
2323 mtime BIGINT NOT NULL ,
2424 version BIGINT NOT NULL ,
2525 data_type INTEGER NOT NULL ,
26- specifics BYTEA STORAGE EXTERNAL NOT NULL ,
27- client_defined_unique_tag TEXT STORAGE PLAIN ,
28- server_defined_unique_tag TEXT STORAGE PLAIN ,
29- name TEXT STORAGE PLAIN ,
30- originator_cache_guid TEXT STORAGE PLAIN ,
31- originator_client_item_id TEXT STORAGE PLAIN ,
32- parent_id TEXT STORAGE PLAIN ,
33- non_unique_name TEXT STORAGE PLAIN ,
34- unique_position BYTEA STORAGE PLAIN ,
26+ specifics BYTEA NOT NULL ,
27+ client_defined_unique_tag TEXT ,
28+ server_defined_unique_tag TEXT ,
29+ name TEXT ,
30+ originator_cache_guid TEXT ,
31+ originator_client_item_id TEXT ,
32+ parent_id TEXT ,
33+ non_unique_name TEXT ,
34+ unique_position BYTEA ,
3535 folder BOOLEAN ,
3636 deleted BOOLEAN NOT NULL ,
3737 PRIMARY KEY (id, chain_id),
3838 UNIQUE (chain_id, client_defined_unique_tag)
3939)
4040PARTITION BY RANGE (chain_id);
41+
42+ ALTER TABLE entities ALTER specifics SET STORAGE EXTERNAL;
43+ ALTER TABLE entities ALTER client_defined_unique_tag SET STORAGE PLAIN;
44+ ALTER TABLE entities ALTER server_defined_unique_tag SET STORAGE PLAIN;
45+ ALTER TABLE entities ALTER name SET STORAGE PLAIN;
46+ ALTER TABLE entities ALTER originator_cache_guid SET STORAGE PLAIN;
47+ ALTER TABLE entities ALTER originator_client_item_id SET STORAGE PLAIN;
48+ ALTER TABLE entities ALTER parent_id SET STORAGE PLAIN;
49+ ALTER TABLE entities ALTER non_unique_name SET STORAGE PLAIN;
50+ ALTER TABLE entities ALTER unique_position SET STORAGE PLAIN;
51+
4152CREATE INDEX entities_chain_id_data_type_mtime_idx ON entities (chain_id, data_type, mtime);
4253
43- SELECT partman .create_parent (
44- p_parent_table := ' public.entities' ,
45- p_control := ' chain_id' ,
46- p_interval := ' 3500'
47- );
54+ DO $$
55+ BEGIN
56+ -- for vanilla postgres
57+ PERFORM partman .create_parent (
58+ p_parent_table := ' public.entities' ,
59+ p_control := ' chain_id' ,
60+ p_interval := ' 3500' ,
61+ p_type := ' range'
62+ );
63+ EXCEPTION WHEN OTHERS THEN
64+ -- for Aurora
65+ PERFORM partman .create_parent (
66+ p_parent_table := ' public.entities' ,
67+ p_control := ' chain_id' ,
68+ p_interval := ' 3500' ,
69+ p_type := ' native'
70+ );
71+ END $$;
4872
4973CREATE EXTENSION IF NOT EXISTS pg_cron;
5074
0 commit comments