Re: [HACKERS] REINDEX CONCURRENTLY 2.0
От
Andreas Karlsson
Тема
Re: [HACKERS] REINDEX CONCURRENTLY 2.0
Дата
Msg-id
a8e56251-bd3c-521e-7a2c-35d66b5f7f29@proxel.se
Ответ на
REINDEX CONCURRENTLY 2.0 (Michael Paquier)
Список
Дерево обсуждения
REINDEX CONCURRENTLY 2.0 Michael Paquier <michael.paquier@gmail.com>
Re: REINDEX CONCURRENTLY 2.0 Andres Freund <andres@2ndquadrant.com>
Re: REINDEX CONCURRENTLY 2.0 Michael Paquier <michael.paquier@gmail.com>
Re: REINDEX CONCURRENTLY 2.0 Andres Freund <andres@2ndquadrant.com>
Re: REINDEX CONCURRENTLY 2.0 Alvaro Herrera <alvherre@2ndquadrant.com>
Re: REINDEX CONCURRENTLY 2.0 Peter Eisentraut <peter_e@gmx.net>
Re: REINDEX CONCURRENTLY 2.0 Jim Nasby <jim@nasby.net>
Re: REINDEX CONCURRENTLY 2.0 Michael Paquier <michael.paquier@gmail.com>
Re: REINDEX CONCURRENTLY 2.0 Michael Paquier <michael.paquier@gmail.com>
Re: REINDEX CONCURRENTLY 2.0 Andres Freund <andres@2ndquadrant.com>
Re: REINDEX CONCURRENTLY 2.0 Michael Paquier <michael.paquier@gmail.com>
Re: REINDEX CONCURRENTLY 2.0 Michael Paquier <michael.paquier@gmail.com>
Re: REINDEX CONCURRENTLY 2.0 Jim Nasby <Jim.Nasby@BlueTreble.com>
Re: REINDEX CONCURRENTLY 2.0 Michael Paquier <michael.paquier@gmail.com>
Re: REINDEX CONCURRENTLY 2.0 Jim Nasby <Jim.Nasby@BlueTreble.com>
Re: REINDEX CONCURRENTLY 2.0 Jim Nasby <Jim.Nasby@BlueTreble.com>
Re: REINDEX CONCURRENTLY 2.0 Michael Paquier <michael.paquier@gmail.com>
Re: REINDEX CONCURRENTLY 2.0 Jeff Janes <jeff.janes@gmail.com>
Re: REINDEX CONCURRENTLY 2.0 Michael Paquier <michael.paquier@gmail.com>
Re: REINDEX CONCURRENTLY 2.0 Peter Eisentraut <peter_e@gmx.net>
Re: REINDEX CONCURRENTLY 2.0 Robert Haas <robertmhaas@gmail.com>
Re: REINDEX CONCURRENTLY 2.0 Robert Haas <robertmhaas@gmail.com>
Re: REINDEX CONCURRENTLY 2.0 Andres Freund <andres@2ndquadrant.com>
Re: REINDEX CONCURRENTLY 2.0 Robert Haas <robertmhaas@gmail.com>
Re: REINDEX CONCURRENTLY 2.0 Andres Freund <andres@2ndquadrant.com>
Re: REINDEX CONCURRENTLY 2.0 Alvaro Herrera <alvherre@2ndquadrant.com>
Re: REINDEX CONCURRENTLY 2.0 Michael Paquier <michael.paquier@gmail.com>
Re: REINDEX CONCURRENTLY 2.0 Peter Eisentraut <peter_e@gmx.net>
Re: REINDEX CONCURRENTLY 2.0 Andres Freund <andres@2ndquadrant.com>
Re: REINDEX CONCURRENTLY 2.0 Jim Nasby <Jim.Nasby@BlueTreble.com>
Re: REINDEX CONCURRENTLY 2.0 Andres Freund <andres@2ndquadrant.com>
Re: REINDEX CONCURRENTLY 2.0 Oskari Saarenmaa <os@ohmu.fi>
Re: REINDEX CONCURRENTLY 2.0 Michael Paquier <michael.paquier@gmail.com>
Re: REINDEX CONCURRENTLY 2.0 Robert Haas <robertmhaas@gmail.com>
Re: REINDEX CONCURRENTLY 2.0 Andres Freund <andres@2ndquadrant.com>
Re: REINDEX CONCURRENTLY 2.0 Robert Haas <robertmhaas@gmail.com>
Re: REINDEX CONCURRENTLY 2.0 Michael Paquier <michael.paquier@gmail.com>
Re: REINDEX CONCURRENTLY 2.0 Michael Paquier <michael.paquier@gmail.com>
Re: REINDEX CONCURRENTLY 2.0 Andres Freund <andres@2ndquadrant.com>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Andreas Karlsson <andreas@proxel.se>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Michael Paquier <michael.paquier@gmail.com>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Andreas Karlsson <andreas@proxel.se>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Michael Paquier <michael.paquier@gmail.com>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Andreas Karlsson <andreas@proxel.se>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Andreas Karlsson <andreas@proxel.se>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Michael Paquier <michael.paquier@gmail.com>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Bruce Momjian <bruce@momjian.us>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Michael Paquier <michael.paquier@gmail.com>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Tom Lane <tgl@sss.pgh.pa.us>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Bruce Momjian <bruce@momjian.us>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Michael Paquier <michael.paquier@gmail.com>
Re: REINDEX CONCURRENTLY 2.0 Robert Haas <robertmhaas@gmail.com>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Andreas Karlsson <andreas@proxel.se>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Jim Nasby <Jim.Nasby@BlueTreble.com>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Andres Freund <andres@anarazel.de>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Robert Haas <robertmhaas@gmail.com>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Andres Freund <andres@anarazel.de>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Robert Haas <robertmhaas@gmail.com>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Andreas Karlsson <andreas@proxel.se>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Robert Haas <robertmhaas@gmail.com>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Andreas Karlsson <andreas@proxel.se>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Jim Nasby <jim.nasby@openscg.com>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Andres Freund <andres@anarazel.de>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Thomas Munro <thomas.munro@enterprisedb.com>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Thomas Munro <thomas.munro@enterprisedb.com>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Peter Geoghegan <pg@bowt.ie>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Andreas Karlsson <andreas@proxel.se>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Michael Paquier <michael.paquier@gmail.com>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Andreas Karlsson <andreas@proxel.se>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Andreas Karlsson <andreas@proxel.se>
Re: REINDEX CONCURRENTLY 2.0 Michael Banck <michael.banck@credativ.de>
Re: REINDEX CONCURRENTLY 2.0 Michael Paquier <michael.paquier@gmail.com>
Re: REINDEX CONCURRENTLY 2.0 Andreas Karlsson <andreas@proxel.se>
Re: REINDEX CONCURRENTLY 2.0 Michael Paquier <michael.paquier@gmail.com>
Re: REINDEX CONCURRENTLY 2.0 Andreas Karlsson <andreas@proxel.se>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Andreas Karlsson <andreas@proxel.se>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Andreas Karlsson <andreas@proxel.se>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Alvaro Herrera <alvherre@alvh.no-ip.org>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Michael Paquier <michael.paquier@gmail.com>
Re: REINDEX CONCURRENTLY 2.0 Michael Paquier <michael.paquier@gmail.com>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Alvaro Herrera <alvherre@alvh.no-ip.org>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Michael Paquier <michael.paquier@gmail.com>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Craig Ringer <craig@2ndquadrant.com>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Stephen Frost <sfrost@snowman.net>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Andreas Karlsson <andreas@proxel.se>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Michael Paquier <michael.paquier@gmail.com>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Sergei Kornilov <sk@zsrv.org>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Sergei Kornilov <sk@zsrv.org>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Stephen Frost <sfrost@snowman.net>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Michael Paquier <michael@paquier.xyz>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Alvaro Herrera <alvherre@2ndquadrant.com>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Michael Paquier <michael@paquier.xyz>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Stephen Frost <sfrost@snowman.net>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Alvaro Herrera <alvherre@2ndquadrant.com>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Stephen Frost <sfrost@snowman.net>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Alvaro Herrera <alvherre@2ndquadrant.com>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Stephen Frost <sfrost@snowman.net>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Andrew Gierth <andrew@tao11.riddles.org.uk>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Andres Freund <andres@anarazel.de>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Michael Paquier <michael@paquier.xyz>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Sergei Kornilov <sk@zsrv.org>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Michael Paquier <michael@paquier.xyz>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Alvaro Herrera <alvherre@2ndquadrant.com>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Michael Paquier <michael@paquier.xyz>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Vik Fearing <vik.fearing@2ndquadrant.com>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Michael Paquier <michael@paquier.xyz>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Vik Fearing <vik.fearing@2ndquadrant.com>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Michael Paquier <michael@paquier.xyz>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Sergei Kornilov <sk@zsrv.org>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Robert Haas <robertmhaas@gmail.com>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Andres Freund <andres@anarazel.de>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Pavel Stehule <pavel.stehule@gmail.com>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Stephen Frost <sfrost@snowman.net>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Andres Freund <andres@anarazel.de>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Michael Paquier <michael@paquier.xyz>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Re: REINDEX CONCURRENTLY 2.0 Sergei Kornilov <sk@zsrv.org>
Re: REINDEX CONCURRENTLY 2.0 Sergei Kornilov <sk@zsrv.org>
Re: REINDEX CONCURRENTLY 2.0 Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Re: REINDEX CONCURRENTLY 2.0 Michael Banck <michael.banck@credativ.de>
Re: REINDEX CONCURRENTLY 2.0 Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Re: REINDEX CONCURRENTLY 2.0 Sergei Kornilov <sk@zsrv.org>
Re: REINDEX CONCURRENTLY 2.0 Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Re: REINDEX CONCURRENTLY 2.0 Michael Paquier <michael@paquier.xyz>
Re: REINDEX CONCURRENTLY 2.0 Sergei Kornilov <sk@zsrv.org>
Re: REINDEX CONCURRENTLY 2.0 Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Re: REINDEX CONCURRENTLY 2.0 Sergei Kornilov <sk@zsrv.org>
Re: REINDEX CONCURRENTLY 2.0 Michael Paquier <michael@paquier.xyz>
Re: REINDEX CONCURRENTLY 2.0 Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Re: REINDEX CONCURRENTLY 2.0 Michael Paquier <michael@paquier.xyz>
RE: REINDEX CONCURRENTLY 2.0 "Shinoda, Noriyoshi (PN Japan A&PS Delivery)"<noriyoshi.shinoda@hpe.com>
Re: REINDEX CONCURRENTLY 2.0 Michael Paquier <michael@paquier.xyz>
Re: REINDEX CONCURRENTLY 2.0 Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Re: REINDEX CONCURRENTLY 2.0 Michael Paquier <michael@paquier.xyz>
Re: REINDEX CONCURRENTLY 2.0 Michael Paquier <michael@paquier.xyz>
Re: REINDEX CONCURRENTLY 2.0 Michael Paquier <michael@paquier.xyz>
Re: REINDEX CONCURRENTLY 2.0 Michael Paquier <michael@paquier.xyz>
Re: REINDEX CONCURRENTLY 2.0 Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Re: REINDEX CONCURRENTLY 2.0 Michael Paquier <michael@paquier.xyz>
Re: REINDEX CONCURRENTLY 2.0 Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Re: REINDEX CONCURRENTLY 2.0 Robert Treat <rob@xzilla.net>
Re: REINDEX CONCURRENTLY 2.0 Andres Freund <andres@anarazel.de>
Re: REINDEX CONCURRENTLY 2.0 Michael Paquier <michael@paquier.xyz>
Re: REINDEX CONCURRENTLY 2.0 "Bossart, Nathan" <bossartn@amazon.com>
Re: REINDEX CONCURRENTLY 2.0 Justin Pryzby <pryzby@telsasoft.com>
Re: REINDEX CONCURRENTLY 2.0 Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Re: REINDEX CONCURRENTLY 2.0 Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Re: REINDEX CONCURRENTLY 2.0 ilmari@ilmari.org (Dagfinn Ilmari Mannsåker)
Re: REINDEX CONCURRENTLY 2.0 Michael Paquier <michael@paquier.xyz>
Re: REINDEX CONCURRENTLY 2.0 Alvaro Herrera <alvherre@2ndquadrant.com>
Re: REINDEX CONCURRENTLY 2.0 Michael Paquier <michael@paquier.xyz>
Re: REINDEX CONCURRENTLY 2.0 ilmari@ilmari.org (Dagfinn Ilmari Mannsåker)
Re: REINDEX CONCURRENTLY 2.0 Michael Paquier <michael@paquier.xyz>
Re: REINDEX CONCURRENTLY 2.0 Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Re: REINDEX CONCURRENTLY 2.0 Michael Paquier <michael@paquier.xyz>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Michael Paquier <michael@paquier.xyz>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Alvaro Herrera <alvherre@2ndquadrant.com>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Michael Paquier <michael@paquier.xyz>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Andreas Karlsson <andreas@proxel.se>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Michael Paquier <michael@paquier.xyz>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Michael Paquier <michael@paquier.xyz>
Re: [HACKERS] REINDEX CONCURRENTLY 2.0 Pavel Stehule <pavel.stehule@gmail.com>
Hi, Here is a third take on this feature, heavily based on Michael Paquier's 2.0 patch. This time the patch does not attempt to preserve the index oids, but instead creates new indexes and moves all dependencies from the old indexes to the new before dropping the old ones. The only downside I can see to this approach is that we no logner will able to reindex catalog tables concurrently, but in return it should be easier to confirm that this approach can be made work. This patch relies on that we can change the indisvalid flag of indexes transactionally, and as far as I can tell this is the case now that we have MVCC for the catalog updates. The code does some extra intermediate commits when building the indexes to avoid long running transactions. How REINDEX CONCURRENTLY operates: For each table: 1. Create new indexes without populating them, and lock the tables and indexes for the session. 2. After waiting for all running transactions populate each index in a separate transaction and set them to ready. 3. After waiting again for all running transactions validate each index in a separate transaction (but not setting them to valid just yet). 4. Swap all dependencies over from each old index to the new index and rename the old and the new indexes (from the to _ccold and _new to ), and set isprimary and isexclusion flags. Here we also mark the new indexes as valid and the old indexes as invalid. 5. After waiting for all running transactions we change each index from invalid to dead. 6. After waiting for all running transactions we drop each index. 7. Drop all session locks. Andreas -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers
В списке pgsql-hackers по дате отправления