pgsql: hash: Add write-ahead logging support.

From: Robert Haas <rhaas(at)postgresql(dot)org>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: hash: Add write-ahead logging support.
Date: 2017-03-14 17:27:10
Message-ID: E1cnqE2-0008JV-Uv@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

hash: Add write-ahead logging support.

The warning about hash indexes not being write-ahead logged and their
use being discouraged has been removed. "snapshot too old" is now
supported for tables with hash indexes. Most importantly, barring
bugs, hash indexes will now be crash-safe and usable on standbys.

This commit doesn't yet add WAL consistency checking for hash
indexes, as we now have for other index types; a separate patch has
been submitted to cure that lack.

Amit Kapila, reviewed and slightly modified by me. The larger patch
series of which this is a part has been reviewed and tested by Álvaro
Herrera, Ashutosh Sharma, Mark Kirkwood, Jeff Janes, and Jesper
Pedersen.

Discussion: http://postgr.es/m/CAA4eK1JOBX=YU33631Qh-XivYXtPSALh514+jR8XeD7v+K3r_Q@mail.gmail.com

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/c11453ce0aeaa377cbbcc9a3fc418acb94629330

Modified Files
--------------
contrib/pageinspect/expected/hash.out | 1 -
contrib/pgstattuple/expected/pgstattuple.out | 2 -
doc/src/sgml/backup.sgml | 13 -
doc/src/sgml/config.sgml | 7 +-
doc/src/sgml/high-availability.sgml | 6 -
doc/src/sgml/indices.sgml | 12 -
doc/src/sgml/ref/create_index.sgml | 13 -
src/backend/access/hash/Makefile | 2 +-
src/backend/access/hash/README | 138 +++-
src/backend/access/hash/hash.c | 81 ++-
src/backend/access/hash/hash_xlog.c | 963 +++++++++++++++++++++++++
src/backend/access/hash/hashinsert.c | 59 +-
src/backend/access/hash/hashovfl.c | 209 +++++-
src/backend/access/hash/hashpage.c | 236 +++++-
src/backend/access/hash/hashsearch.c | 5 +
src/backend/access/rmgrdesc/hashdesc.c | 134 +++-
src/backend/commands/indexcmds.c | 5 -
src/backend/utils/cache/relcache.c | 12 +-
src/include/access/hash_xlog.h | 232 ++++++
src/test/regress/expected/create_index.out | 5 -
src/test/regress/expected/enum.out | 1 -
src/test/regress/expected/hash_index.out | 2 -
src/test/regress/expected/macaddr.out | 1 -
src/test/regress/expected/replica_identity.out | 1 -
src/test/regress/expected/uuid.out | 1 -
25 files changed, 2001 insertions(+), 140 deletions(-)

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Peter Eisentraut 2017-03-14 17:49:47 pgsql: Spelling fixes
Previous Message Tom Lane 2017-03-14 17:18:48 pgsql: Include port number when logging successful binding to a TCP por