Re: Support for REINDEX CONCURRENTLY
Andres Freund <andres@2ndquadrant.com>
From: Andres Freund <andres@2ndquadrant.com>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Michael Paquier <michael.paquier@gmail.com>,
Fujii Masao <masao.fujii@gmail.com>,
"pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>,
Peter Eisentraut <peter_e@gmx.net>, Tom Lane <tgl@sss.pgh.pa.us>,
Simon Riggs <simon@2ndquadrant.com>
Date: 2013-09-16T14:38:46Z
Lists: pgsql-hackers
On 2013-08-29 10:39:09 -0400, Robert Haas wrote: > I have been of the opinion for some time now that the > shared-invalidation code is not a particularly good design for much of > what we need. Waiting for an old snapshot is often a proxy for > waiting long enough that we can be sure every other backend will > process the shared-invalidation message before it next uses any of the > cached data that will be invalidated by that message. However, it > would be better to be able to send invalidation messages in some way > that causes them to processed more eagerly by other backends, and that > provides some more specific feedback on whether or not they have > actually been processed. Then we could send the invalidation > messages, wait just until everyone confirms that they have been seen, > which should hopefully happen quickly, and then proceed. Actually, the shared inval code already has that knowledge, doesn't it? ISTM all we'd need is have a "sequence number" of SI entries which has to be queryable. Then one can simply wait till all backends have consumed up to that id which we keep track of the furthest back backend in shmem. Greetings, Andres Freund -- Andres Freund http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Background worker processes
- da07a1e85651 9.3.0 cited
-
Fix assorted bugs in CREATE/DROP INDEX CONCURRENTLY.
- 3c84046490be 9.3.0 cited
-
Work around unportable behavior of malloc(0) and realloc(NULL, 0).
- 09ac603c36d1 9.3.0 cited
-
Properly set relpersistence for fake relcache entries.
- beb850e1d873 9.3.0 cited