Re: Proposal: Local indexes for partitioned table
Alvaro Herrera <alvherre@alvh.no-ip.org>
From: Alvaro Herrera <alvherre@alvh.no-ip.org>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Pg Hackers <pgsql-hackers@postgresql.org>, Maksim Milyutin <m.milyutin@postgrespro.ru>
Date: 2017-10-23T16:15:03Z
Lists: pgsql-hackers
Robert Haas wrote: > On Mon, Oct 23, 2017 at 11:12 AM, Alvaro Herrera > <alvherre@alvh.no-ip.org> wrote: > > I started with Maksim's submitted code, and developed according to the > > ideas discussed in this thread. Attached is a very WIP patch series for > > this feature. > > > > Many things remain to be done before this is committable: pg_dump > > support needs to be written. ALTER INDEX ATTACH/DETACH not yet > > implemented. No REINDEX support yet. Docs not updated (but see the > > regression test as a guide for how this is supposed to work; see patch > > 0005). CREATE INDEX CONCURRENTLY not done yet. > > > > I'm now working on the ability to build unique indexes (and unique > > constraints) on top of this. > > Cool. Are you planning to do that by (a) only allowing the special > case where the partition key columns/expressions are included in the > indexed columns/expressions, (b) trying to make every insert to any > index check all of the indexes for uniqueness conflicts, or (c) > implementing global indexes? Because (b) sounds complex - think about > attach operations, for example - and (c) sounds super-hard. I'd > suggest doing (a) first, just on the basis of complexity. Yes, I think (a) is a valuable thing to have -- not planning on doing (c) at all because I fear it'll be a huge time sink. I'm not sure about (b), but it's not currently on my plan. > I hope that you don't get so involved in making this unique index > stuff work that we don't get the cascading index feature, at least, > committed to v11. That's already a considerable step forward in terms > of ease of use, and I'd really like to have it. Absolutely -- I do plan to get this one finished regardless of unique indexes. -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Commits
-
Local partitioned indexes
- 8b08f7d4820f 11.0 landed
-
Fix StoreCatalogInheritance1 to use 32bit inhseqno
- 1ef61ddce908 11.0 landed
- 9a215fb4b5ec 9.3.21 landed
- 8a71ee628854 9.6.7 landed
- 61f08c016322 10.2 landed
- 1284d18b5de9 9.4.16 landed
- 0d993709a773 9.5.11 landed
-
Get rid of copy_partition_key
- 8a0596cb656e 11.0 landed
-
Simplify index_[constraint_]create API
- a61f5ab98638 11.0 landed