Re: pgsql: Compress GIN posting lists, for smaller index size.
От | Fujii Masao |
---|---|
Тема | Re: pgsql: Compress GIN posting lists, for smaller index size. |
Дата | |
Msg-id | CAHGQGwFAG==9rH1V043-VwvqgmCzHZEbHb6SpzhzW835m0cf-A@mail.gmail.com обсуждение исходный текст |
Ответ на | pgsql: Compress GIN posting lists, for smaller index size. (Heikki Linnakangas <heikki.linnakangas@iki.fi>) |
Ответы |
Re: pgsql: Compress GIN posting lists, for smaller index
size.
Re: pgsql: Compress GIN posting lists, for smaller index size. |
Список | pgsql-committers |
On Thu, Jan 23, 2014 at 2:28 AM, Heikki Linnakangas <heikki.linnakangas@iki.fi> wrote: > Compress GIN posting lists, for smaller index size. > > GIN posting lists are now encoded using varbyte-encoding, which allows them > to fit in much smaller space than the straight ItemPointer array format used > before. The new encoding is used for both the lists stored in-line in entry > tree items, and in posting tree leaf pages. > > To maintain backwards-compatibility and keep pg_upgrade working, the code > can still read old-style pages and tuples. Posting tree leaf pages in the > new format are flagged with GIN_COMPRESSED flag, to distinguish old and new > format pages. Likewise, entry tree tuples in the new format have a > GIN_ITUP_COMPRESSED flag set in a bit that was previously unused. > > This patch bumps GIN_CURRENT_VERSION from 1 to 2. New indexes created with > version 9.4 will therefore have version number 2 in the metapage, while old > pg_upgraded indexes will have version 1. The code treats them the same, but > it might be come handy in the future, if we want to drop support for the > uncompressed format. I failed to compile HEAD because, ISTM, of this patch. ginvacuum.c:34: error: redefinition of typedef 'GinVacuumState' ../../../../src/include/access/gin_private.h:715: error: previous declaration of 'GinVacuumState' was here make[4]: *** [ginvacuum.o] Error 1 make[3]: *** [gin-recursive] Error 2 make[2]: *** [access-recursive] Error 2 make[2]: *** Waiting for unfinished jobs.... $ uname -a Darwin test.local 11.4.2 Darwin Kernel Version 11.4.2: Thu Aug 23 16:25:48 PDT 2012; root:xnu-1699.32.7~1/RELEASE_X86_64 x86_64 Regards, -- Fujii Masao
В списке pgsql-committers по дате отправления: