Re: tsearch2 on-demand dictionary loading & using functions in tsearch2

From: Teodor Sigaev <teodor(at)sigaev(dot)ru>
To: iSteve <isteve(at)bofh(dot)cz>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: tsearch2 on-demand dictionary loading & using functions in tsearch2
Date: 2008-05-18 11:25:17
Message-ID: 4830121D.9050204@sigaev.ru
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

> * Considering the database is loaded separately for each session, does
> this also imply that each running backend has a separate dictionary
> stored in memory?

Yes.
>
> As for downsides, I only really see two:
> * Tracking updates of dictionaries - but it's reasonable to believe
> that new connections get open more often than the dictionary gets
> updated. Also, this might be easily solved by stat()-ing the dictionary
> file before starting up session, and only have the server reload it if
> there's a notified change.
> * Possibly complicated to implement?

Keeping dictionary up to date - it's a most difficult part here. Configuration
of dictionary might be done by ALTER command - so, parent process (and all
currently running backends) should get that information to reload dictionary.

> As for my second question, is it possible to use functions in tsearch2?
> For example, writing my own stemmer in PL/pgSQL or in C as a postgres
> function.

Yes, of course, you can develop your dictionary (-ies) and parser. Dut only in
C, because they are critical for performance.
--
Teodor Sigaev E-mail: teodor(at)sigaev(dot)ru
WWW: http://www.sigaev.ru/

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Ivan Sergio Borgonovo 2008-05-18 12:04:56 Re: Postgresql MVCC, Read Committed Isolation Level and taking "snapshot"
Previous Message alisazegar 2008-05-18 08:35:52 Postgresql service stops every few minutes on Vista Biz