Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d3lb7-0005AU-VV for pgadmin-hackers@arkaria.postgresql.org; Thu, 27 Apr 2017 15:44:50 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1d3lb7-0000ec-IT for pgadmin-hackers@arkaria.postgresql.org; Thu, 27 Apr 2017 15:44:49 +0000 Received: from makus.postgresql.org ([2001:4800:1501:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1d3lb6-0000eT-W8 for pgadmin-hackers@postgresql.org; Thu, 27 Apr 2017 15:44:49 +0000 Received: from mail-vk0-x22c.google.com ([2607:f8b0:400c:c05::22c]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1d3lb3-0003LW-RX for pgadmin-hackers@postgresql.org; Thu, 27 Apr 2017 15:44:47 +0000 Received: by mail-vk0-x22c.google.com with SMTP id 198so19377070vkk.2 for ; Thu, 27 Apr 2017 08:44:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pivotal-io.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=5GJjP9hwXat9F/Ndvis0J/2/7AkHT4pykaB2dsHEf44=; b=sgyFFkUEpGho0ft/C4Z3rP/2ypQukdPCeKy9u33SXqnqTxOo7u+1PNXnevilu850XE urGdDudVn08VmgSxjTnKhrIgcagKoIOOn4luf1UX+DJLpW2zZ015afk+ghXYSIJGsSTc GeBJM7AeHrPyWZPszlub3ZpCHNUfDT45/NBdaApPWvyrkZ+rdfLGJAdMfFEu33Ew6UWl KQ4qXOJ9KmGUgaNF+1G83HVLRnVaG45MVqf59Z1YE+Lvt+RVB3+Y7DYuCjc1FiQSun19 hXWRQUJymhmq7kGeIVc7U3npRYd6ORX55FOKuAYa1LdD7TRS+eYDkVG1XSWpPAiwvTfw do7A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=5GJjP9hwXat9F/Ndvis0J/2/7AkHT4pykaB2dsHEf44=; b=bLOk9fhJyNPN/8FfcWeOeZmnFJm71X3UJaMOG4sDZy1RDx95ri1PtVqoons35sn+kQ mNfNB5hROJZznHbFhq5Yr/7kgrymugFTVpIEJFlav+J/XORVYZhi/QcBQj7AwMS1b6xO dk+yMWm8zz2lbO1N9UTWG+L63dlZx4AHgl6NLkOEqe1TWuoYV/zRRJbEIMX8zuo1Yzsp PIS+0RkpuuoLHm3BdQM9WslGolu+GpFhjMMuozRAlbkuM62v3jQ7Q/yWqh2PWlQL4GpZ iy1wnhgF5Uwq/MH0roER6V3OKsq33a0tG1+oxV48zwJPrhCeOiAS4om4Rxewl45OgN2L Ehwg== X-Gm-Message-State: AN3rC/7k7OhWUn/46Acyi9FCIjG1YLbMpIfm+3rI9B5Knzm3iyAacl5l +MSRpUiWOpOGcxA8E3joBg13bAaUKc/j X-Received: by 10.31.82.1 with SMTP id g1mr2825146vkb.121.1493307884162; Thu, 27 Apr 2017 08:44:44 -0700 (PDT) MIME-Version: 1.0 Received: by 10.176.4.87 with HTTP; Thu, 27 Apr 2017 08:44:43 -0700 (PDT) In-Reply-To: References: From: Robert Eckhardt Date: Thu, 27 Apr 2017 11:44:43 -0400 Message-ID: Subject: Re: Declarative partitioning in pgAdmin4 To: Dave Page Cc: Akshay Joshi , Shirley Wang , pgadmin-hackers Content-Type: multipart/alternative; boundary=001a114e56eef9ead8054e27d5c4 X-Pg-Spam-Score: -2.6 (--) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgadmin-hackers Precedence: bulk Sender: pgadmin-hackers-owner@postgresql.org --001a114e56eef9ead8054e27d5c4 Content-Type: text/plain; charset=UTF-8 > > The issues we consistently face: >> >> - The huge (often thousands sometimes tens of thousands) number of >> partitions makes rendering all of the partitions painfully slow and >> frequently not useful. >> >> Perhaps, though I doubt that number would be common in Postgres. The > problem though, is that there are both stats and sub-objects (indexes and > triggers for example) that are part of the child partitions, not the parent > - and they may differ from partition to partition. > Certainly there differences in Postgres and Greenplum and this might very well be one of those places. > I don't see that we have any choice but to display them so users can work > with them. > We don't want to hide them, I do think we want to make accessing them a useful experience. If we rephrase this statement as "How might we display partitioned tables so that users are able to work with and modify the pieces they need?", this opens us up to different opportunities in how we display them. Even with a simple case of 90 days of data partitioned by day, a drop down showing 90 tables that are all mostly the same is a little overwhelming. > >> - When end users are interested in looking at their partitions they >> frequently don't want all of them displayed mindlessly >> - They are looking at a subset of partitions >> - Partitions are typically grouped around their inheritance >> properties. >> >> How might you propose grouping them (based on the way they work in > Postgres)? > Honestly I'm not sure. We didn't really start thinking about this until the other day so we are starting to look into the pains that Greenplum customers have. Sharing that pain we discover back to the pgAdmin community and seeing if it makes sense from a Postgres perspective. After that I need to dive into the Postgres implementation. -- Rob --001a114e56eef9ead8054e27d5c4 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
The= issues we consistently face:
  • The huge (often thousan= ds sometimes tens of thousands) number of partitions makes rendering all of= the partitions painfully slow and frequently not useful.
Perhaps, though I doubt that numbe= r would be common in Postgres. The problem though, is that there are both s= tats and sub-objects (indexes and triggers for example) that are part of th= e child partitions, not the parent - and they may differ from partition to = partition.

Certain= ly there differences in Postgres and Greenplum and this might very well be = one of those places.=C2=A0
=C2=A0
I don't see that we have any choice but to display them so users = can work with them.

=
We don't want to hide them, I do think we want to make accessing t= hem a useful experience. If we rephrase this statement as "How might w= e display partitioned tables so that users are able to work with and modify= the pieces they need?", this opens us up to different opportunities i= n how we display them.

Even with a simple case of = 90 days of data partitioned by day, a drop down showing 90 tables that are = all mostly the same is a little overwhelming.=C2=A0
=C2=A0
<= blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px= #ccc solid;padding-left:1ex">
<= div class=3D"gmail_quote">
  • When end users are interested in looking at their partit= ions they frequently don't want all of them displayed mindlessly=C2=A0<= /li>
    • They are looking at a subset of partitions
    • Partitions a= re typically grouped around their inheritance properties.=C2=A0
How might you propose g= rouping them (based on the way they work in Postgres)?=C2=A0

Honestly I'm not sure. We= didn't really start thinking about this until the other day so we are = starting to look into the pains that Greenplum customers have. Sharing that= pain we discover back to the pgAdmin community and seeing if it makes sens= e from a Postgres perspective.=C2=A0 After that I need to dive into the Pos= tgres implementation.=C2=A0

-- Rob
--001a114e56eef9ead8054e27d5c4--