Re: BUG #15350: Getting invalid cache ID: 11 Errors
Thomas Munro <thomas.munro@enterprisedb.com>
From: Thomas Munro <thomas.munro@enterprisedb.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Kieran McCusker <kieran.mccusker@gmail.com>, PostgreSQL mailing lists <pgsql-bugs@lists.postgresql.org>
Date: 2018-08-29T22:45:43Z
Lists: pgsql-bugs
Attachments
- 0001-Hack-to-make-unaccent-poke-syscache.patch (application/octet-stream) patch 0001
- 0002-Defer-restoration-of-libraries-in-parallel-workers.patch (application/octet-stream) patch 0002
On Tue, Aug 28, 2018 at 2:40 PM Tom Lane <tgl@sss.pgh.pa.us> wrote: > Thomas Munro <thomas.munro@enterprisedb.com> writes: > > We could probably improve that situation by making syscache lookups > > (and probably other things too) fail when called from _PG_init() in > > regular backends so that extension authors are made aware of this > > hazard, or perhaps go the other way and change the order we do things > > in parallel workers. > > Hmm. There's an argument to be made for the latter: we don't really > want stuff failing in parallel workers if it works fine normally. > > On the other hand, it seems clear to me that we *don't* want extensions to > be doing stuff like syscache lookups in _PG_init(), because that would > prevent them from working as shared_preload_libraries entries. > > And on the third hand, intentionally breaking code that used to work > isn't likely to win us many friends either. So I'm not sure that your > first option is really tenable. Perhaps we could get away with doing > it in HEAD and not back-patching ... but that does little for existing > problems. Ok, so I guess we should just make it work then. Here's throw-away test patch to make "unaccent" blow up in this way, and a draft patch to reorder things so that it works. CREATE EXTENSION unaccent; CREATE TABLE t AS SELECT 'hello world' AS v FROM generate_series(1, 1000000); ANALYZE t; EXPLAIN ANALYZE SELECT COUNT(unaccent(v)) FROM t; -- Thomas Munro http://www.enterprisedb.com
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Defer restoration of libraries in parallel workers.
- de4fe83c7e6d 9.6.11 landed
- 98a4e814e473 10.6 landed
- 9d178fb92804 11.0 landed
- 6c3c9d418918 12.0 landed