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  (Tom Lane <tgl@sss.pgh.pa.us>)
Список 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 по дате отправления:

Предыдущее
От: Soni
Дата:
Сообщение: PG10 declarative partitioning that allow null value
Следующее
От: Tom Lane
Дата:
Сообщение: Re: PG10 declarative partitioning that allow null value