Re: BUG #15726: parallel queries failed ERROR: invalid name syntax CONTEXT: parallel worker

Thomas Munro <thomas.munro@gmail.com>

From: Thomas Munro <thomas.munro@gmail.com>
To: tiago_anastacio@yahoo.fr, PostgreSQL mailing lists <pgsql-bugs@lists.postgresql.org>
Date: 2019-04-02T00:24:58Z
Lists: pgsql-bugs
On Tue, Apr 2, 2019 at 10:59 AM Thomas Munro <thomas.munro@gmail.com> wrote:
> On Tue, Apr 2, 2019 at 12:24 AM PG Bug reporting form
> <noreply@postgresql.org> wrote:
> > default_text_search_config = ''  #default 'pg_catalog.simple'
>
> That causes problems for parallel workers.  The stack looks like this:

> Why is the empty string acceptable to the master but not with
> RestoreGUCState() in a parallel worker?

Because check_TSCurrentConfig() only reports and error if there is an
active transaction.  So you can see this without parallelism like
this:

postgres=# begin;
BEGIN
postgres=# set default_text_search_config = '';
psql: ERROR:  invalid name syntax

I think the short term answer is that you need a better value for
default_text_search_config.  It's unfortunate that this error is
normally hidden, but then jumps out with an incomprehensible message
when you run a parallel query.  Perhaps someone who knows more about
TS than me could comment on whether this should be considered a bug?

-- 
Thomas Munro
https://enterprisedb.com



Commits

  1. When restoring GUCs in parallel workers, show an error context.

  2. Defer restoration of libraries in parallel workers.