From: Teodor Sigaev <teodor@sigaev.ru>
To: Alvaro Herrera <alvherre@commandprompt.com>
Cc: Heikki Linnakangas <heikki@enterprisedb.com>
Cc: Patches <pgsql-patches@postgresql.org>
Subject: Re: GIN improvements
Date: Tue, 10 Jun 2008 15:23:06 +0400
Message-ID: <484E641A.4060301@sigaev.ru> (raw)
In-Reply-To: <20080608222626.GB11028@alvh.no-ip.org>
References: <483FD205.4090904@sigaev.ru>
<4849418C.6080909@sigaev.ru>
<4849436F.30703@enterprisedb.com>
<484946C6.1080807@sigaev.ru>
<20080608222626.GB11028@alvh.no-ip.org>
> Perhaps we could make the fixed-size buffer be of size X, and trigger
> autovac on X/3 or some such, to give it enough slack so that it would be
> very unlikely to be processed by user processes.
>> Do you mean that GIN sends a "smoke signal" to the autovacuum launcher
>> process to ask about vacuum?
> Currently, autovac only uses pgstats as trigger for actions. Maybe we
> could use something else (say, a flag in shared memory?), or just stash
> the info that the index needs to be processed in pgstats and have
> autovac examine it.
Flag in pgstats or shared memory is most reasonable solution. Using size of
buffers is not very good because other indexes might use another technics for
delayed insert and use another trigger criteria.
Suppose, the best technic for GIN will be a setting flag by search procedure -
if time of scanning pending pages is eqial to time of search in regular
structure then it's time to call insert cleanup.
--
Teodor Sigaev E-mail: teodor@sigaev.ru
WWW: http://www.sigaev.ru/
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-patches@postgresql.org
Cc: teodor@sigaev.ru, alvherre@commandprompt.com, heikki@enterprisedb.com
Subject: Re: GIN improvements
In-Reply-To: <484E641A.4060301@sigaev.ru>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox