pgsql: Support unlogged GiST index.

Поиск
Список
Период
Сортировка
От Heikki Linnakangas
Тема pgsql: Support unlogged GiST index.
Дата
Msg-id E1U50cr-0001lr-Oa@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Support unlogged GiST index.

The reason this wasn't supported before was that GiST indexes need an
increasing sequence to detect concurrent page-splits. In a regular WAL-
logged GiST index, the LSN of the page-split record is used for that
purpose, and in a temporary index, we can get away with a backend-local
counter. Neither of those methods works for an unlogged relation.

To provide such an increasing sequence of numbers, create a "fake LSN"
counter that is saved and restored across shutdowns. On recovery, unlogged
relations are blown away, so the counter doesn't need to survive that
either.

Jeevan Chalke, based on discussions with Robert Haas, Tom Lane and me.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/62401db45c4feff9be296fa78a8bb7b9947d69de

Modified Files
--------------
doc/src/sgml/ref/create_table.sgml      |    3 +-
src/backend/access/gist/gist.c          |   24 +++++++++++---
src/backend/access/gist/gistbuild.c     |   12 +-------
src/backend/access/gist/gistutil.c      |   30 +++++++++++++-----
src/backend/access/gist/gistvacuum.c    |    2 +-
src/backend/access/transam/xlog.c       |   51 +++++++++++++++++++++++++++++++
src/backend/storage/buffer/bufmgr.c     |   19 ++++++++++-
src/bin/pg_controldata/pg_controldata.c |    3 ++
src/bin/pg_resetxlog/pg_resetxlog.c     |    1 +
src/include/access/gist_private.h       |    2 +-
src/include/access/xlog.h               |    1 +
src/include/catalog/pg_control.h        |    4 ++-
12 files changed, 121 insertions(+), 31 deletions(-)


В списке pgsql-committers по дате отправления:

Предыдущее
От: Heikki Linnakangas
Дата:
Сообщение: pgsql: Fix checkpoint after fast promotion.
Следующее
От: Peter Eisentraut
Дата:
Сообщение: pgsql: Add noreturn attributes to some error reporting functions