Re: Setting pd_lower in GIN metapage
Michael Paquier <michael.paquier@gmail.com>
From: Michael Paquier <michael.paquier@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Amit Kapila <amit.kapila16@gmail.com>,
Amit Langote <Langote_Amit_f8@lab.ntt.co.jp>, Masahiko Sawada <sawada.mshk@gmail.com>,
Pg Hackers <pgsql-hackers@postgresql.org>
Date: 2017-09-19T22:55:31Z
Lists: pgsql-hackers
On Wed, Sep 20, 2017 at 12:47 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote: > Amit Kapila <amit.kapila16@gmail.com> writes: >> On Tue, Sep 19, 2017 at 9:27 AM, Michael Paquier >> <michael.paquier@gmail.com> wrote: >>> I am not saying that no index AMs take advantage FPW compressibility >>> for their meta pages. There are cases like this one, as well as one >>> code path in BRIN where this is useful, and it is useful as well when >>> logging FPWs of the init forks for unlogged relations. > >> Hmm, why is it useful for logging FPWs of the init forks for unlogged >> relations? We don't use REGBUF_STANDARD in those cases. > > But if we started to do so, that would be a concrete benefit of this > patch ... In the proposed set of patches, all the empty() routines part of index AMs which use log_newpage_buffer() (brin, gin, spgst) are doing the right thing by updating log_newpage_buffer(). btree also should have its call to log_newpage updated in btbuildempty(), and your patch is missing that. Also, _hash_init() would need some extra work to generate FPWs, but I don't think that it is necessary per its handling of a per-record meta data either. So REGBUF_STANDARD could be just removed from there, and there is actually no need to patch src/backend/access/hash at all. -- Michael
Commits
-
Flag index metapages as standard-format in xlog.c calls.
- 4c11d2c559e7 11.0 landed
-
Set the metapage's pd_lower correctly in brin, gin, and spgist indexes.
- 81e334ce4e6d 11.0 landed