On Mon, Dec 18, 2017 at 11:02 AM, Alvaro Herrera <alvhe...@alvh.no-ip.org> wrote: > After this discussion, this is how I see things working: > > 1. pg_dump > a) creates indexes on partitions normally > b) once all existing indexes are done, index on parent is created, > with ONLY. No cascading occurs, no indexes are attached. > c) ATTACH is run for each existing partition index. After each > ATTACH, we check that all indexes exist. If so, the parent is > marked valid. > d) if not all indexes existed in partitions, index on parent remains > invalid. (It was invalid in the dumped database, so this is > correct.) > > 2. other uses > Normal CREATE INDEX (without ONLY) recurses and attaches the first > matching index it finds (no duplicate indexes are created); > partitions without a matching index get one created. > > 3. ALTER INDEX DETACH is not provided. Therefore: once index is valid, > it remains so forever. > > I think this satisfies all concerns.
Sounds great to me. -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company