From: | Rahila Syed <rahilasyed90(at)gmail(dot)com> |
---|---|
To: | PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Adding support for Default partition in partitioning |
Date: | 2017-03-01 00:59:28 |
Message-ID: | CAH2L28tbN4SYyhS7YV1YBWcitkqbhSWfQCy0G=apRcC_PEO-bg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hello,
Currently inserting the data into a partitioned table that does not fit into
any of its partitions is not allowed.
The attached patch provides a capability to add a default partition to a
list
partitioned table as follows.
postgres=# CREATE TABLE list_partitioned (
a int
) PARTITION BY LIST (a);
CREATE TABLE
postgres=# CREATE TABLE part_default PARTITION OF list_partitioned FOR
VALUES IN (DEFAULT);
CREATE TABLE
postgres=# CREATE TABLE part_1 PARTITION OF list_partitioned FOR VALUES IN
(4,5);
CREATE TABLE
postgres=# insert into list_partitioned values (9);
INSERT 0 1
postgres=# select * from part_default;
a
---
9
(1 row)
The attached patch is in a preliminary stage and has following ToDos:
1. Adding pg_dump support.
2. Documentation
3. Handling adding a new partition to a partitioned table
with default partition.
This will require moving tuples from existing default partition to
newly created partition if they satisfy its partition bound.
4. Handling of update of partition key in a default partition. As per
current design it should throw an error if the update requires the tuple to
be moved to any other partition. But this can changed by the following
proposal.
https://www.postgresql.org/message-id/CAJ3gD9do9o2ccQ7j7+tSgiE1REY65XRiMb=
yJO3u3QhyP8EEPQ(at)mail(dot)gmail(dot)com
I am adding it to the current commitfest with the status Waiting on Author
as I will submit an updated patch with above ToDos.
Kindly give your suggestions.
Thank you,
Rahila Syed
Attachment | Content-Type | Size |
---|---|---|
default_list_partition_v1.patch | application/x-download | 6.9 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Lukas Fittl | 2017-03-01 01:01:29 | [PATCH] Use $ parameters as replacement characters for pg_stat_statements |
Previous Message | Kouhei Kaigai | 2017-03-01 00:33:23 | Re: PassDownLimitBound for ForeignScan/CustomScan [take-2] |