Re: [HACKERS] The number of bytes is stored in index_size of pgstatindex() ?

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Peter Geoghegan <pg(at)heroku(dot)com>
Cc: 大塚憲司 <otsuka(dot)kenji(at)nttcom(dot)co(dot)jp>, pgsql-docs(at)postgresql(dot)org, Pg Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: [HACKERS] The number of bytes is stored in index_size of pgstatindex() ?
Date: 2016-02-19 00:53:53
Message-ID: 15135.1455843233@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-docs pgsql-hackers

Peter Geoghegan <pg(at)heroku(dot)com> writes:
> On Thu, Feb 18, 2016 at 4:15 PM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
>> Because they've been removed from the right-link/left-link chains.

> That isn't the same thing as being inaccessible by scans, clearly
> (just what you call the "leaf scan sequence").

Only a physical-order scan, ie vacuum, would visit a dead page
(ignoring transient corner cases like a page getting deleted while an
indexscan is in flight to it). So I think treating it as part of the
fragmentation measure is completely wrong: the point of that measure,
AFAICS, is to model how close an index-order traversal is to linear.
Half-dead pages are also normally very transient --- the only way they
persist is if there's a crash partway through a page deletion. So I think
it's appropriate to assume that future indexscans won't visit those,
either.

> there are usage patterns where half-dead pages might accumulate.

Other than a usage pattern of "randomly SIGKILL backends every few
seconds", I don't see how that would happen.

regards, tom lane

In response to

Responses

Browse pgsql-docs by date

  From Date Subject
Next Message Peter Geoghegan 2016-02-19 20:02:24 Re: [HACKERS] The number of bytes is stored in index_size of pgstatindex() ?
Previous Message Peter Geoghegan 2016-02-19 00:29:31 Re: [DOCS] The number of bytes is stored in index_size of pgstatindex() ?

Browse pgsql-hackers by date

  From Date Subject
Next Message Michael Paquier 2016-02-19 01:02:17 Re: Re: BUG #13685: Archiving while idle every archive_timeout with wal_level hot_standby
Previous Message Amit Langote 2016-02-19 00:35:29 Re: about google summer of code 2016