PG10 declarative partitioning that allow null value - Mailing list pgsql-general

From Soni
Subject PG10 declarative partitioning that allow null value
Date
Msg-id 41964f36-ae96-f37c-edde-bcea231617b3@gmail.com
Whole thread Raw
Responses Re: PG10 declarative partitioning that allow null value
List pgsql-general
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 by date:

Previous
From: Tom Lane
Date:
Subject: Re: Inexplicable UPDATE...RETURNING behaviour
Next
From: Soni
Date:
Subject: Re: PG10 declarative partitioning that allow null value