On 7 December 2012 17:19, Andres Freund <and...@2ndquadrant.com> wrote: > On 2012-12-07 12:01:52 -0500, Tom Lane wrote: >> Simon Riggs <si...@2ndquadrant.com> writes: >> > On 7 December 2012 12:37, Michael Paquier <michael.paqu...@gmail.com> >> > wrote: >> >> - There is still a problem with toast indexes. If the concurrent reindex >> >> of >> >> a toast index fails for a reason or another, pg_relation will finish with >> >> invalid toast index entries. I am still wondering about how to clean up >> >> that. Any ideas? >> >> > Build another toast index, rather than reindexing the existing one, >> > then just use the new oid. > > Thats easier said than done in the first place. toast_save_datum() > explicitly opens/modifies the one index it needs and updates it.
Well, yeh, I know what I'm saying: it would need to maintain 2 indexes for a while. The point is to use the same trick we do manually now, which works fine for normal indexes and can be made to work for toast indexes also. >> Um, I don't think you can swap in a new toast index OID without taking >> exclusive lock on the parent table at some point. > > The whole swapping issue isn't solved satisfyingly as whole yet :(. > > If we just swap the index relfilenodes in the pg_index entries itself, > we wouldn't need to modify the main table's pg_class at all. yes -- Simon Riggs http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers