From: | Listmail <lists(at)peufeu(dot)com> |
---|---|
To: | "Oleg Bartunov" <oleg(at)sai(dot)msu(dot)su> |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: Tsearch2 crashes my backend, ouch ! |
Date: | 2007-04-01 20:56:42 |
Message-ID: | op.tp4hssr5zcizji@apollo13 |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
>> Anyway, just to signal that tsearch2 crashes if SELECT is not granted
>> to pg_ts_dict (other tables give a proper error message when not
>> GRANTed).On
>
> I don't understand this. Are sure on this ? From prompt in your select
> examples I see you have superuser's rights and you have successfully
> select from pg_ts_dict column.
It was tricky to reproduce... I thought I had hallucinations but here it
is :
- open two psql windows (one postgres user, one normal unprivileged user),
see > or # in prompt for which window I use to type commands/
- first let's lock ourselves up :
caillaudangers=# REVOKE select ON pg_ts_dict FROM caillaudangers ;
REVOKE
caillaudangers=# REVOKE select ON pg_ts_cfg FROM caillaudangers ;
REVOKE
caillaudangers=# REVOKE select ON pg_ts_cfgmap FROM caillaudangers ;
REVOKE
caillaudangers=# REVOKE select ON pg_ts_parser FROM caillaudangers ;
REVOKE
- then try to access :
caillaudangers=> SELECT to_tsvector( 'bill gates is watching us' );
ERREUR: droit refusé pour la relation pg_ts_dict
CONTEXT: instruction SQL «select dict_init, dict_initoption, dict_lexize
from public.pg_ts_dict where oid = $1»
caillaudangers=# GRANT select ON pg_ts_dict TO caillaudangers ;
GRANT
caillaudangers=> SELECT to_tsvector( 'bill gates is watching us' );
ERREUR: No dictionary with id 138493128
Strange error message ??
caillaudangers=> SELECT to_tsvector( 'bill gates is watching us' );
ERREUR: droit refusé pour la relation pg_ts_cfg
CONTEXT: instruction SQL «select prs_name from public.pg_ts_cfg where oid
= $1»
Proper error message now. Let's go back.
caillaudangers=# REVOKE select ON pg_ts_dict FROM caillaudangers ;
REVOKE
Now try to select to_tsvector and each time a permission is denied, grant
the needed table.
caillaudangers=> SELECT to_tsvector( 'bill gates is watching us' );
ERREUR: droit refusé pour la relation pg_ts_cfg
CONTEXT: instruction SQL «select prs_name from public.pg_ts_cfg where oid
= $1»
caillaudangers=# GRANT select ON pg_ts_cfg TO caillaudangers ;
GRANT
caillaudangers=> SELECT to_tsvector( 'bill gates is watching us' );
ERREUR: droit refusé pour la relation pg_ts_cfgmap
CONTEXT: instruction SQL «select lt.tokid, map.dict_name from
public.pg_ts_cfgmap as map, public.pg_ts_cfg as cfg, public.token_type( $1
) as lt where lt.alias = map.tok_alias and map.ts_name = cfg.ts_name and
cfg.oid= $2 order by lt.tokid desc;»
caillaudangers=# GRANT select ON pg_ts_cfgmap TO caillaudangers ;
GRANT
caillaudangers=> SELECT to_tsvector( 'bill gates is watching us' );
ERREUR: droit refusé pour la relation pg_ts_parser
CONTEXT: instruction SQL «select prs_start, prs_nexttoken, prs_end,
prs_lextype, prs_headline from public.pg_ts_parser where oid = $1»
caillaudangers=# GRANT select ON pg_ts_parser TO caillaudangers ;
GRANT
caillaudangers=> SELECT to_tsvector( 'bill gates is watching us' );
server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
La connexion au serveur a été perdue. Tentative de réinitialisation :
Echec.
There it crashes. It's bizarre.
From | Date | Subject | |
---|---|---|---|
Next Message | Chris | 2007-04-02 02:29:36 | Re: Connecting a sequence with table column |
Previous Message | Listmail | 2007-04-01 20:55:40 | Re: postgresl for mysql? |