Re: BUG #15181: pg_dump - missing schema in CREATE TEXT SEARCH DICTIONARY - Mailing list pgsql-bugs

From Tom Lane
Subject Re: BUG #15181: pg_dump - missing schema in CREATE TEXT SEARCH DICTIONARY
Date
Msg-id 11813.1525102225@sss.pgh.pa.us
Whole thread Raw
In response to BUG #15181: pg_dump - missing schema in CREATE TEXT SEARCH DICTIONARY  (PG Bug reporting form <noreply@postgresql.org>)
Responses Re: BUG #15181: pg_dump - missing schema in CREATE TEXT SEARCHDICTIONARY  (Adam Bartoszewicz <adam.bartoszewicz@gmail.com>)
List pgsql-bugs
=?utf-8?q?PG_Bug_reporting_form?= <noreply@postgresql.org> writes:
> CREATE TEXT SEARCH DICTIONARY polish_thesaurus (
>     TEMPLATE = thesaurus,
>     DictFile = polish, -- tsearch_data/polish.ths
>     Dictionary = polish_ispell
> );

> The bug ocurs when I try to dump and reload database structure. 
> pg_dump creates command with missing schema:
> CREATE TEXT SEARCH DICTIONARY public.polish_thesaurus (
>     TEMPLATE = pg_catalog.thesaurus,
>     dictfile = 'polish', dictionary = 'polish_ispell' );

Hm.  There is not a lot that pg_dump can do about that: it's really
a design shortcoming in the thesaurus template, namely that the
sub-dictionary is referenced by a string rather than by OID.  You could
break it equally well with "ALTER TEXT SEARCH DICTIONARY polish_ispell
RENAME ...", or for that matter by trying to use polish_thesaurus in any
context where you didn't have the public schema in your search path.

I'd recommend explicitly specifying "Dictionary = public.polish_ispell"
when you create the thesaurus dictionary.

I suppose we should adjust the docs to point out this hazard, as well.

            regards, tom lane


pgsql-bugs by date:

Previous
From: PG Bug reporting form
Date:
Subject: BUG #15181: pg_dump - missing schema in CREATE TEXT SEARCH DICTIONARY
Next
From: Adam Bartoszewicz
Date:
Subject: Re: BUG #15181: pg_dump - missing schema in CREATE TEXT SEARCHDICTIONARY