Re: PG10 declarative partitioning that allow null value
От | Soni |
---|---|
Тема | Re: PG10 declarative partitioning that allow null value |
Дата | |
Msg-id | 9d9f18f2-bd18-ce97-8189-753097515331@gmail.com обсуждение исходный текст |
Ответ на | PG10 declarative partitioning that allow null value (Soni <diptatapa@gmail.com>) |
Ответы |
Re: PG10 declarative partitioning that allow null value
|
Список | pgsql-general |
I think it's better to had list partitioning of true/false based on (int_key_column is null) CREATE TABLE partitioned_table_name (like table_name) partition by list ((int_key_column is null)); On 16/04/2019 9:37, Soni wrote: > Hello All, > currently we are planning to migrate inheritance partitioning to > declarative partitioning by range values of int on pg10. But the key > values can contain null. I know that range partitioning does not allow > null values. > We are looking for workaround for this, that is create a list > partitioning and then followed by range sub-partitioning. List > partitioning of number of digits of the int key column. > > > CREATE TABLE partitioned_table_name (like table_name) partition by > list (floor(log(int_key_column)+1)); > > create table partitions_1 partition of partitioned_table_name for > values in (null); > create table partitions_2 partition of partitioned_table_name for > values in (1); > ..... > ..... > create table partitions_2 partition of partitioned_table_name for > values in (9) partition by range(int_key_column); > > Question is : > is this a good practice ? will performance dropped significantly due > to the process of counting the number of digits ? > or is there any better workaround for this ? > > Thanks, > > Soni. >
В списке pgsql-general по дате отправления: