Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d6D52-0007P8-AN for pgadmin-hackers@arkaria.postgresql.org; Thu, 04 May 2017 09:29:48 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1d6D51-0005OD-T8 for pgadmin-hackers@arkaria.postgresql.org; Thu, 04 May 2017 09:29:47 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1d6D51-0005O1-1t for pgadmin-hackers@postgresql.org; Thu, 04 May 2017 09:29:47 +0000 Received: from mail-pg0-x232.google.com ([2607:f8b0:400e:c05::232]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1d6D4v-0006Id-Bk for pgadmin-hackers@postgresql.org; Thu, 04 May 2017 09:29:46 +0000 Received: by mail-pg0-x232.google.com with SMTP id o3so5584054pgn.2 for ; Thu, 04 May 2017 02:29:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=ovk8qPqTuJ+Zgbzl2m2FycQXheoAHtbOBPdLv08RmdY=; b=ZVNx66k1xfeKfNzf+SUkghkkb78+rCI+U3tPFaTouGOO6Hnin7m5+prIwcSk2S0i9Y mSWpzffymENjpWA5Ns1s6fx2h8SNFbmqw50lXyYZjHYGKreRakpHhXlLGjUBMCZmvA2E n4AwgEdY0IcrW7Fb7dOMAtr1sw9kxiBrKGj4fi41CVCuMnXIc5bGgpHkHIjolt3dK2yU /hKsw+XPioTlC+3PpTI52fN+//NWTF+Rqa8MdotKkdmX4KM2HUZMIPk8nyX3QOn/qX0O b3mhx2+2ax96FtBtkKVVjxrS/Ers5ZQZRXZlbwlZanLpSUnAQE7alzUxq3w38mzJnXWx OoWw== 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=ovk8qPqTuJ+Zgbzl2m2FycQXheoAHtbOBPdLv08RmdY=; b=QtX9ShLY+ZhNpe4xhH+oxNByscbgZavtm6oXF6XWz2+7FK2ixfzpb3nLqCvrWULy3f Hll+/M0uP0EiVeyiA8yD76mkh7pS1s1itaGYGIrzpI2BWUe9OYLTPT/3l1i+9E0kUS9E qHZZCbiCpjnjx5nmPxdY5xPhyHryE3mzaf8xCFYvPBqBoB7fYPVg3h3scrhb6UGiCyQB fgPOA9SEBGoVB3hgrPWMDA0EK+0avZfBTP6vEYVa5z8s1VKbcTYobVbDk1aE9ZqJExq9 kZPslUCwuKHA8JKZav+frbHpqUcMgGMv/nY8qt3jPNZGyVEbcrdI3p+ZopabsrNUh8g8 3hqA== X-Gm-Message-State: AN3rC/5Kc/cJP0rcoBhjFYnnRr8Y0RpPmhCiLRtwwaHbCnOzItgdciUR Gtqgopui4VaGTPYAmguZXyUZqSkTrwJnzpI= X-Received: by 10.98.25.78 with SMTP id 75mr9656542pfz.84.1493890179232; Thu, 04 May 2017 02:29:39 -0700 (PDT) MIME-Version: 1.0 Received: by 10.100.176.206 with HTTP; Thu, 4 May 2017 02:29:38 -0700 (PDT) In-Reply-To: References: From: Akshay Joshi Date: Thu, 4 May 2017 14:59:38 +0530 Message-ID: Subject: Re: Declarative partitioning in pgAdmin4 To: Dave Page Cc: pgadmin-hackers Content-Type: multipart/alternative; boundary=94eb2c1113927787bb054eaf6979 X-Pg-Spam-Score: -1.9 (-) 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 --94eb2c1113927787bb054eaf6979 Content-Type: text/plain; charset=UTF-8 Hi All On Wed, May 3, 2017 at 5:35 PM, Dave Page wrote: > Great, thanks. > > I think it's clear that we need to display the child partitions in the > treeview. I don't see any other sensible way of enabling those operations > without an extremely contrived dialogue design. > > Please now document how those features will be implemented; e.g, for each > one: > > - View table data: Parent and partition context menu. > - Attach/detach partitions: Parent properties dialogue > ... > > That will then give us a list of places we'll need to (re)design dialogues > and menus etc. for. > As per my knowledge on Partitioning, I think we will have to implement following things in parent and child: Parent: 1. View Table data : No need to change any logic, it's working. 2. Correct jinja template to show correct SQL in SQL pane. 3. Create partitioned table - - Add one switch control ("Partitioned Table?") in General tab of Table dialog. - Add new tab "Partitions". - Add one select2 control (Partition Type :Range/List) in "Partitions" tab. - Create one subnode control to specify number of key columns with expressions. For List partition only one row will be there + button will be disabled, and for Range partition + button will be enabled. Here is the syntax as per documentation [ PARTITION BY { RANGE | LIST } ( { *column_name* | ( *expression* ) } [ COLLATE *collation* ] [ *opclass* ] [, ... ] ) ]. *Design discussion required here for how user will specify expression, collate and opclass*. 4. Create N number of partitions: - Design one control (subnode control) so that user will add N number of partitions. Here is the syntax as per documentation CREATE TABLE *table_name PARTITION OF parent_table [ ( { column_name [ WITH OPTIONS ] [ column_constraint [ ... ] ] | table_constraint } [, ... ] ) ] FOR VALUES partition_bound_spec **partition_bound_spec* is: { IN ( { *bound_literal* | NULL } [, ...] ) | FROM ( { *bound_literal* | UNBOUNDED } [, ...] ) TO ( { *bound_literal* | UNBOUNDED } [, ...] ) } - *Design discussion required here for how user will specify all the above combinations.* 5. Properties dialog "Partitions" Tab: - Partition Type control must be disabled. - User will be able to create/modify existing partitions. User won't be able to delete partitions as there are two modes Detach/Drop and we will have separate menu for it. 6. Drop/ Drop cascade, Truncate: No need to change any logic, it's working. 7. Attach Partitions: Create context menu on partitioned table. When user clicks, open one dialog with some controls to provide table(to be attach) and partition_bound_spec*. Design discussion required here.* 8. Not able to create constraints excluding check constraint: We will have to disable context menu, remove child nodes from browser tree for constraints and disable controls from the dialog. Child: 1. View Table Data: Add context menu. 2. Detach partition: Create context menu, when user click popped up confirmation message box. 3. View partition scheme in SQL pane: Changes required in jinja template. 4. Create primary/foreign/.. key constraint: No need to change any logic on GUI, but may need to change queries to fetch the partitioned tables. 5. Drop/ Drop cascade, Truncate: No need to change any logic. Apart from above it may be possible that I miss something, so we need to cover that too. > > > On Wed, May 3, 2017 at 1:00 PM, Akshay Joshi < > akshay.joshi@enterprisedb.com> wrote: > >> Hi Dave >> >> As per my understanding below operations required >> >> Parent: >> >> - View table data. >> - View stats. >> - Create regular/partitioned table >> - Create N number of partitions. >> - Drop/ Drop cascade, Truncate. >> - Attach/Detach Partitions. >> - Not able to create constraints excluding check constraint. >> >> Child: >> >> - View Table Data. >> - View stats. >> - View partition scheme in SQL pane >> - Create primary/foreign/.. key constraint. >> - Drop/ Drop cascade, Truncate >> >> >> On Tue, May 2, 2017 at 8:25 PM, Dave Page wrote: >> >>> Hi >>> >>> On Tue, May 2, 2017 at 2:46 PM, Akshay Joshi < >>> akshay.joshi@enterprisedb.com> wrote: >>> >>>> Hi All >>>> >>>> To implement Declarative Partitioning in existing Table dialog >>>> below changes should be implemented: >>>> >>>> 1. *Icon: *As we have separate icon for view and materialised view, >>>> we should have for partition table. I didn't find any in font awesome. >>>> >>>> They are really different object types though (even having their own >>> collections), which isn't the case here. I'm not against having a slightly >>> modified icon, but I don't think it's necessary. Note that the object icons >>> come from pgAdmin III, and were custom designed for us. They aren't in font >>> awesome etc. We'd need to tweak one of the existing ones. >>> >>>> >>>> 1. *Inheritance*: >>>> - A partition cannot have any parents other than the partitioned >>>> table it is a partition of, nor can a regular table inherit from a >>>> partitioned table making the latter its parent. That means partitioned >>>> tables and partitions do not participate in inheritance with regular tables. >>>> - When user creates regular table then Inherited from table(s) >>>> control should not display partitioned table. >>>> 2. *Constraints*: >>>> - Primary/Foreign/Unique/Exclusion constraints are not supported >>>> on partitioned table. In that case respective controls should be disabled >>>> for partitioned table. >>>> - We will have to check which constraints are applicable on >>>> partitions(of partitioned table) still some R&D require. Can someone help >>>> me here. >>>> - For regular tables in Foreign Key constraints tab References >>>> control should not list partition tables. >>>> - Check constraints : cannot add NO INHERIT constraint to >>>> partitioned table, so that control is disabled for partition table. >>>> 3. *Advanced Tab*: >>>> - Relation works with partition table theirs is an error if >>>> "With indexes?" is set to Yes, so we need to disabled that for partition >>>> table. >>>> - "Has OIDs?" and "Unlogged?" works but not sure about "Fill >>>> factor" and "Of type". >>>> 4. *Parameter Tab*: >>>> - Gives error (unrecognized parameter "autovacuum_enabled") for >>>> all parameters of Table Tab and working fine for "Toast Table" >>>> it's working. >>>> >>>> Can you detail what operations someone would likely want (or need) to >>> perform on the parent/child tables; e.g. >>> >>> Parent: >>> >>> - View stats >>> - View data >>> - Truncate >>> - View/create columns >>> - Bulk-create indexes >>> - Bulk-create foreign keys >>> >>> Child: >>> >>> - View stats >>> - View data >>> - Truncate >>> - Create indexes >>> - Create foreign keys >>> >>> >>> >>>> Apart from above we will have to do following: >>>> >>>> - Required switch control to specify whether it is a regular table >>>> or partitioned table. I have added it on General tab. Please refer >>>> Partition_Switch.png >>>> - Will have to add new tab "Partition" which will have one select2 >>>> control to define its Range partition or List partition. Refer >>>> Partition_Tab.png >>>> >>>> "Partitions"? >>> >>>> >>>> - Design following controls in *Partition* tab: >>>> - How to add columns in case of Range/List partition? LIST >>>> partition key supports only one column. For RANGE user can specify multiple >>>> columns. >>>> - How to specify expression, COLLATE while adding columns >>>> for partition. >>>> - We need subnode control so that user will add number of >>>> partition with there values of the main table. Need lot of R&D for this. >>>> - We will have to provide "Create partition", "Attach Partition" >>>> and "Detech partition" context menu options on Partitions >>>> collection node. >>>> >>>> OK. >>> >>> Thanks! This is a complex one :-( >>> >>> >>>> Let me know if I forgot something to add that we may need to >>>> handle/implement. >>>> >>>> On Thu, Apr 27, 2017 at 9:14 PM, Robert Eckhardt >>>> wrote: >>>> >>>>> 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 >>>>> >>>> >>>> >>>> >>>> -- >>>> *Akshay Joshi* >>>> *Principal Software Engineer * >>>> >>>> >>>> >>>> *Phone: +91 20-3058-9517 <+91%2020%203058%209517>Mobile: +91 >>>> 976-788-8246 <+91%2097678%2088246>* >>>> >>>> >>>> -- >>>> Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org) >>>> To make changes to your subscription: >>>> http://www.postgresql.org/mailpref/pgadmin-hackers >>>> >>>> >>> >>> >>> -- >>> Dave Page >>> Blog: http://pgsnake.blogspot.com >>> Twitter: @pgsnake >>> >>> EnterpriseDB UK: http://www.enterprisedb.com >>> The Enterprise PostgreSQL Company >>> >> >> >> >> -- >> *Akshay Joshi* >> *Principal Software Engineer * >> >> >> >> *Phone: +91 20-3058-9517 <+91%2020%203058%209517>Mobile: +91 976-788-8246 >> <+91%2097678%2088246>* >> > > > > -- > Dave Page > Blog: http://pgsnake.blogspot.com > Twitter: @pgsnake > > EnterpriseDB UK: http://www.enterprisedb.com > The Enterprise PostgreSQL Company > -- *Akshay Joshi* *Principal Software Engineer * *Phone: +91 20-3058-9517Mobile: +91 976-788-8246* --94eb2c1113927787bb054eaf6979 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi All

On Wed, May 3, 2017 at 5:35 PM, Dave Page <dpage@pgadmin.org> wrote:
Great, thanks.

I think i= t's clear that we need to display the child partitions in the treeview.= I don't see any other sensible way of enabling those operations withou= t an extremely contrived dialogue design.

Please n= ow document how those features will be implemented; e.g, for each one:

- View table data: Parent and partition context menu.<= /div>
- Attach/detach partitions: Parent properties dialogue
= ...

That will then give us a list of places we'= ;ll need to (re)design dialogues and menus etc. for.

=C2=A0 =C2=A0 As per my knowledge on Partitioning, I = think we will have to implement following things in parent and child:
=
=C2=A0 =C2=A0=C2=A0
=C2=A0 = =C2=A0Parent:
  1. View Table data : =C2=A0No need to change any logic, it's wo= rking.
  2. Correct jinja template to sh= ow correct SQL in SQL pane.=C2=A0
  3. Create part= itioned table -=C2=A0
    • Add one switch c= ontrol ("Partitioned Table?") in General tab of Table dialog.
    • Add n= ew tab "Partitions".=C2=A0
    • Add one select2 control (Parti= tion Type :Range/List) in "Partitions" tab.
    • Create one subnode cont= rol to specify number of key columns with expressions. For List partition o= nly one row will be there + button will be disabled, and for Range partitio= n + button will be enabled. Here is the syntax as per documentation=C2=A0[ PARTITION BY { RANGE | LIST } ( {=C2=A0column_name=C2=A0| (=C2=A0expression=C2=A0) } [ COLLATE=C2=A0collation=C2=A0] [=C2=A0opclass=C2=A0] [, ... ] ) ].=C2=A0De= sign discussion required here for how user will specify expression, collate= and opclass.=C2=A0=C2=A0 =C2=A0
  4. Create N number of partitions:=C2=A0
    • Design one control (subnode control) so that user w= ill add N number of partitions. Here is the syntax as per documentation=C2= =A0CREATE =C2=A0TABLE =C2=A0= table_name=C2=A0PARTITION OF parent_table [ ( =C2=A0 { column_name [ WITH O= PTIONS ] [ column_constraint [ ... ] ] =C2=A0 =C2=A0 | table_constraint } = =C2=A0 =C2=A0 [, ... ] ) ] FOR VALUES partition_bound_spec=C2=A0partition_bound_spec=C2=A0is:
      { IN ( { =
      bound_literal | NULL } [, ...] ) |
        FROM ( { bound_literal | UNBOUNDED }=
       [, ...] ) TO ( { bound_literal | UNBO=
      UNDED } [, ...] ) }
    • Design discussion required here for how user will specify all the= above combinations.
  5. Properties dialog "Partitions" Tab:
    • Partition Type control must be disabled.=C2=A0
    • User will be able to creat= e/modify existing partitions. User won't be able to delete partitions a= s there are two modes Detach/Drop and we will have separate menu for it.=C2= =A0
  6. Drop/ Drop casca= de, Truncate: No need to change any logic, it's working.
  7. Attach Partitions: =C2=A0Create context menu on parti= tioned table. When user clicks, open one dialog with some=C2=A0controls to=C2=A0provide table(to be attach) and par= tition_bound_spec.=C2=A0Design=C2=A0discussion required here.
  8. Not able to= create constraints excluding check constraint: =C2=A0We will have to disab= le context menu, remove child nodes from browser tree for constraints and d= isable controls from the dialog.=C2=A0
=C2=A0 =C2=A0 Child:
  1. View Table Data: Add= context menu.=C2=A0
  2. Detach partition: C= reate context menu, when user click popped up confirmation message box. =C2= =A0
  3. View partition scheme in SQL pane: Changes re= quired in jinja<= /span> template. =C2=A0
  4. Create primary/f= oreign/.. key constraint: No need to change any logic on GUI, but may need = to change queries to fetch the partitioned tables.=C2=A0
  5. Drop/ Drop cascade, Truncate: No need to change any l= ogic.
=C2=A0 =C2=A0 Apart from above it may be possible that I mis= s something, so we need to cover that too.=C2=A0
=C2=A0 =C2= =A0


On Wed, May= 3, 2017 at 1:00 PM, Akshay Joshi <akshay.joshi@enterprisedb.c= om> wrote:
Hi Dave<= div>
As per my understanding below operations required
<= div>
Parent:
  • View table data.
  • View stats.=
  • Create regular/partitioned table
  • Create N number of partit= ions.
  • Drop/ Drop cascade, Truncate.
  • Attach/Detach Partition= s.
  • Not able to create constraints excluding check constraint.
  • <= /ul>Child:
  • View Table Data.
  • View stats.
  • V= iew partition scheme in SQL pane
  • Create primary/foreign/.. key cons= traint.
  • Drop/ Drop cascade, Truncate

On Tue, May 2, 2017 at 8:25 PM, Dave Page <dpage@pgadmin.org> wrote:
Hi

On Tue, May 2, 2017 at 2:46 PM= , Akshay Joshi <akshay.joshi@enterprisedb.com> wrote:
Hi All=C2=A0

To implement Declarative Partitioning in existing Table dialog below=C2=A0changes should be= =C2=A0implemented:
  1. Icon:=C2=A0As we have=C2=A0separate icon for view and=C2=A0<= /font>materialised view, we sh= ould have for partition table. I didn't find any in font awesome.
  2. <= /ol>
They are really different object types t= hough (even having their own collections), which isn't the case here. I= 'm not against having a slightly modified icon, but I don't think i= t's necessary. Note that the object icons come from pgAdmin III, and we= re custom designed for us. They aren't in font awesome etc. We'd ne= ed to tweak one of the existing ones.
  1. Inherita= nce:
    • A partition cannot have any parents other tha= n the partitioned table it is a partition of, nor can a regular table inher= it from a partitioned table making the latter its parent. That means partit= ioned tables and partitions do not participate in inheritance with regular = tables.
    • When user creates regular table then Inherited from ta= ble(s) control should not=C2=A0display partitioned table.
    <= li>= Constraints:
    • Primary/Foreign/Unique/Exclusion constraints= are not supported on partitioned table. In that case respective controls s= hould be disabled for partitioned table.
    • We will have to check which cons= traints are applicable on partitions(of partitioned table) still some R&= ;D=C2=A0require. Can someone help me here.
    • For regular tables in Foreign = Key constraints tab References control should not=C2=A0list partition table= s.
    • Check constraints :=C2=A0cannot add NO INHERIT constraint = to partitioned table, so that control is disabled for partition table.
  2. <= b>Advanced Tab:
    • Relation works with partition table theirs is an error if &q= uot;With indexes?" is set to Yes, so we need to disabled that for part= ition table.
    • "Has OIDs?" and = "Unlogged?" works bu= t not sure about "Fill factor" and "Of type".
  3. Parameter Tab:
    • Gives error (<= font color=3D"#333333">unrecognized pa= rameter "autovacuum_enabl= ed") for all parameters=C2=A0=C2=A0of Table Tab a= nd working fine for "Toast Table" it's working.=C2=A0<= /li>
Can you detail what operations= someone would likely want (or need) to perform on the parent/child tables;= e.g.

Parent:

- View stat= s
- View data
- Truncate
- View/create column= s
- Bulk-create indexes
- Bulk-create foreign keys

Child:

- View stats
- View data
- Truncate
- Create indexes
- Cr= eate foreign keys

=C2=A0
Apart from = above we will have to do following:
  • Required switch control to specify whether it is a = regular table or partitioned table. I have added it on General tab. Please = refer Partition_Switch.png
  • Will have to add ne= w tab "Partition" which will have one select2 control to define i= ts Range partition or List=C2=A0partition. Refer=C2=A0Partition_Tab.= png
"Partitions"?=C2=A0
  • Design following controls in=C2=A0Parti= tion=C2=A0tab:
    • = How to add columns in case of Range/List partition?=C2=A0LIST partition key supports only one co= lumn. For RANGE user can specify multiple columns.
    • How to specify expression, COLLAT= E while adding columns for=C2=A0partition.
    • We need=C2=A0subnode control so that user will add number of partition with th= ere values of the main table. Need lot of R&D for this.
    • We will have to=C2=A0provi= de "Create partition", "Attach Partition" and "Detech=C2=A0partition" conte= xt menu options on Partitions collection node.=C2=A0
=
OK.

Thanks! This is= a complex one :-(
=C2=A0
Let me know if I for= got something to add that we may need to handle/implement.

On Thu, Apr 27, 2017 at 9:14 PM, Robert Eckhardt <= reckhardt@pivotal= .io> wrote:
The issues we consistently face:
  • The huge= (often thousands sometimes tens of thousands) number of partitions makes r= endering all of the partitions painfully slow and frequently not useful.
Perhaps, though I d= oubt that number would be common in Postgres. The problem though, is that t= here 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 fro= m partition to partition.

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

We don't want to hide them, I do think we w= ant to make accessing them a useful experience. If we rephrase this stateme= nt 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 di= fferent opportunities in how we display them.

Even= with a simple case of 90 days of data partitioned by day, a drop down show= ing 90 tables that are all mostly the same is a little overwhelming.=C2=A0<= /div>
=C2=A0
=
  • When end users are interested in looking at their partitions they = frequently don't want all of them displayed mindlessly=C2=A0
    • They are looking at a subset of partitions
    • Partitions are typical= ly grouped around their inheritance properties.=C2=A0
<= /div>
How might you propose grouping th= em (based on the way they work in Postgres)?=C2=A0

Honestly I'm not sure. We di= dn't really start thinking about this until the other day so we are sta= rting to look into the pains that Greenplum customers have. Sharing that pa= in we discover back to the pgAdmin community and seeing if it makes sense f= rom a Postgres perspective.=C2=A0 After that I need to dive into the Postgr= es implementation.=C2=A0

-- Rob
<= /div>



-= -
Akshay Joshi=
Principal Software Engineer=C2=A0


<= b>Phone: +91 20-3058-9517
Mobile: <= a href=3D"tel:+91%2097678%2088246" value=3D"+919767888246" target=3D"_blank= ">+91 976-788-8246


--
Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org) To make changes to your subscription:
http://www.postgresql.org/mailpref/pgadmin-ha= ckers




<= /div>--
Dave Page
Blog: http://pgsnake.blogspot.comTwitter: @pgsnake

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



--
Aksh= ay Joshi
Principal Software Engineer=C2=A0





--
=


--
Akshay Joshi
<= span style=3D"color:rgb(0,0,0);font-family:arial,sans-serif;font-size:13px;= border-collapse:collapse">Principal Software Engineer=C2=A0


Phone: +91 20-3058-9= 517
Mobile: +91 976-788-8246
--94eb2c1113927787bb054eaf6979--