Re: BUG #15350: Getting invalid cache ID: 11 Errors

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Thomas Munro <thomas.munro@enterprisedb.com>
Cc: kieran.mccusker@gmail.com, PostgreSQL mailing lists <pgsql-bugs@lists.postgresql.org>
Date: 2018-08-28T02:40:17Z
Lists: pgsql-bugs
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.

			regards, tom lane


Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Defer restoration of libraries in parallel workers.