BUG #5561: Tsearch across schemas

Started by Satish Kumaralmost 16 years ago2 messagesbugs
Jump to latest
#1Satish Kumar
satish.kumar@icasework.com

The following bug has been logged online:

Bug reference: 5561
Logged by: Satish Kumar
Email address: satish.kumar@icasework.com
PostgreSQL version: 8.2
Operating system: Ubuntu 9.04
Description: Tsearch across schemas
Details:

Hi,

We decided to use gist text search on two columns in our database (both on
different tables) and hence decided we required the tsearch2.sql
functionalities. We ran tsearch2.sql and create index across 5 schemas.

CREATE INDEX case_attributes_text ON case_attributes USING gist
(to_tsvector(value));

CREATE INDEX appl_categories_cat1 ON appl_categories USING gist
(to_tsvector(category1));

Thing seems to work fine until we encounter an occasion error message when
running our application and trying to insert into the appl_categories or
case_attributes table.

SEVERE: org.postgresql.util.PSQLException: ERROR: No tsearch cfg with id
698563
org.postgresql.util.PSQLException: ERROR: No tsearch cfg with id 698563

On further investigation we found out the OID 698563 was on pg_ts_cfg table
of a different schema.

Is there a known issue where even though we are passing in the right
search_path to point to the right schema, the index might fail to look into
the right schema for updating itself?

Regards,

Satish
iCasework Ltd.

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Satish Kumar (#1)
Re: BUG #5561: Tsearch across schemas

"Satish Kumar" <satish.kumar@icasework.com> writes:

We decided to use gist text search on two columns in our database (both on
different tables) and hence decided we required the tsearch2.sql
functionalities. We ran tsearch2.sql and create index across 5 schemas.

CREATE INDEX case_attributes_text ON case_attributes USING gist
(to_tsvector(value));

CREATE INDEX appl_categories_cat1 ON appl_categories USING gist
(to_tsvector(category1));

Thing seems to work fine until we encounter an occasion error message when
running our application and trying to insert into the appl_categories or
case_attributes table.

SEVERE: org.postgresql.util.PSQLException: ERROR: No tsearch cfg with id
698563
org.postgresql.util.PSQLException: ERROR: No tsearch cfg with id 698563

On further investigation we found out the OID 698563 was on pg_ts_cfg table
of a different schema.

contrib/tsearch2 is not designed to be used that way. You should have
only one copy of the tsearch2 functions and tables, not one in every
schema. I don't know whether there are bugs if you try to make use of
the tsearch2 functionality from a table in a different schema from where
the tsearch2 functions are --- but if there are, we might make an effort
to fix them. The case you describe above is just not going to be
supportable.

regards, tom lane