Re: Declarative partitioning in pgAdmin4

From: Dave Page <dpage(at)pgadmin(dot)org>
To: Akshay Joshi <akshay(dot)joshi(at)enterprisedb(dot)com>
Cc: pgadmin-hackers <pgadmin-hackers(at)postgresql(dot)org>
Subject: Re: Declarative partitioning in pgAdmin4
Date: 2017-04-26 08:25:41
Message-ID: CA+OCxowUuaNRX9jHmEVFpqT7JCbjn6vaxw+JJ6yrvVp69FZscg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgadmin-hackers

Hi

[moving to the pgadmin-hackers mailing list as this a pgAdmin feature]

On Wed, Apr 26, 2017 at 8:20 AM, Akshay Joshi <akshay(dot)joshi(at)enterprisedb(dot)com
> wrote:

> Hi Dave
>
> Murtuza and I started thinking about "How to add Declarative
> Partitioning" support in pgAdmin4. We thought instead of showing Partition
> Table under existing Tables collection, we should add new collection node
> "Partition Tables". Showing table under the table node recursively will
> require lots of code changes in table and it's child nodes (column, index,
> trigger, etc..) which is more complex and error prone.
>

Perhaps, but from the user's perspective, there's no reason to list them
separately - they are just tables with a different structure from others.
We shouldn't confuse the user just because it's more convenient for us.

I really think it should look like this:

- Tables
- t1
- Columns
- Constraints
- Partitions
- p1
- Sub Objects (whatever they may be)
...
- p2
...
- t2
...

>
> Below is the design that we can implement:
>
> - Create new "Partition Tables" collection node. User will be able to
> create partition table by clicking "Create -> Partition Table" menu that we
> will add on collection node. We will share the dialog prototype later
> once we will have complete understanding of it.
>
> Can you share a mock-up of the dialog? The Figma tool that Shirley shared
looks like it'll be good for doing that - I can invite you to the team.

>
> - Once table is created user will be able to create partitions by
> clicking "Create -> Partitions" menu will be added on each partitioned
> table node. We will share the dialog prototype later once we will have
> complete understanding of it.
>
> I would expect the user to be able to define the partitioning scheme when
they create the table; e.g. on a new tab. It shouldn't be a two step
process.

>
> - We will have to show sub nodes like (column, index, trigger,
> constraints, etc..) on main table while some of the sub nodes won't require
> for partitions like (column and many more again require some more knowledge
> on partitioning).
>
> OK.

> Apart from above we will have to figure out following:
>
> - How to remove partitions(table) from existing tables node as value
> of relkind column is 'r' for partitions.
> - Partitioning scheme to show in SQL pane for partitions.
> - Some unknown issue/features of Declarative partitioning.
>
> OK.

> The above implementation may take more time, so it might possible that we
> may not be able to finish it by 14th May (deadline).
>

It would be nice to have it by then, but the true deadline will be a later
beta (TBD, but probably beta 2 which is sufficiently far off).

--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

Responses

Browse pgadmin-hackers by date

  From Date Subject
Next Message Joao Pedro De Almeida Pereira 2017-04-26 15:16:58 Re: [pgAdmin4][Patch]: Fixed RM #2315 : Sorting by size is broken
Previous Message Dave Page 2017-04-26 08:14:10 Re: [Design update] Style guide for pgAdmin4