pgsql: Support unlogged tables.

Lists: pgsql-committers
From: Robert Haas <rhaas(at)postgresql(dot)org>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Support unlogged tables.
Date: 2010-12-29 11:49:31
Message-ID: E1PXuX5-00082d-TT@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-committers

Support unlogged tables.

The contents of an unlogged table are WAL-logged; thus, they are not
available on standby servers and are truncated whenever the database
system enters recovery. Indexes on unlogged tables are also unlogged.
Unlogged GiST indexes are not currently supported.

Branch
------
master

Details
-------
http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=53dbc27c62d8e1b6c5253feba04a5094cb8fe046

Modified Files
--------------
doc/src/sgml/catalogs.sgml | 3 +-
doc/src/sgml/indexam.sgml | 11 +
doc/src/sgml/ref/create_table.sgml | 21 ++-
doc/src/sgml/ref/create_table_as.sgml | 12 +-
doc/src/sgml/ref/pg_dump.sgml | 11 +
doc/src/sgml/ref/pg_dumpall.sgml | 11 +
doc/src/sgml/storage.sgml | 22 ++-
src/backend/access/gin/gininsert.c | 42 ++++
src/backend/access/gist/gist.c | 13 +
src/backend/access/hash/hash.c | 15 ++-
src/backend/access/hash/hashovfl.c | 9 +-
src/backend/access/hash/hashpage.c | 20 +-
src/backend/access/nbtree/nbtree.c | 31 +++
src/backend/access/transam/xlog.c | 17 ++
src/backend/catalog/catalog.c | 14 +-
src/backend/catalog/heap.c | 19 ++
src/backend/catalog/index.c | 11 +
src/backend/catalog/storage.c | 49 +++--
src/backend/commands/tablecmds.c | 19 +-
src/backend/parser/gram.y | 11 +-
src/backend/storage/buffer/bufmgr.c | 53 +++--
src/backend/storage/file/Makefile | 2 +-
src/backend/storage/file/copydir.c | 3 +-
src/backend/storage/file/fd.c | 2 +-
src/backend/storage/file/reinit.c | 396 +++++++++++++++++++++++++++++++++
src/backend/utils/adt/dbsize.c | 1 +
src/backend/utils/cache/relcache.c | 2 +
src/bin/pg_dump/pg_dump.c | 71 +++++-
src/bin/pg_dump/pg_dump.h | 1 +
src/bin/pg_dump/pg_dumpall.c | 7 +
src/bin/psql/describe.c | 36 +++-
src/include/access/gin.h | 1 +
src/include/access/gist_private.h | 1 +
src/include/access/hash.h | 9 +-
src/include/access/nbtree.h | 1 +
src/include/catalog/catalog.h | 2 +-
src/include/catalog/catversion.h | 2 +-
src/include/catalog/pg_am.h | 18 +-
src/include/catalog/pg_class.h | 1 +
src/include/catalog/pg_proc.h | 8 +
src/include/catalog/storage.h | 2 +
src/include/parser/kwlist.h | 1 +
src/include/pg_config_manual.h | 2 +-
src/include/storage/buf_internals.h | 1 +
src/include/storage/bufmgr.h | 6 +-
src/include/storage/copydir.h | 1 +
src/include/storage/reinit.h | 23 ++
src/include/storage/relfilenode.h | 5 +-
src/include/utils/rel.h | 1 +
49 files changed, 916 insertions(+), 104 deletions(-)


From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Robert Haas <rhaas(at)postgresql(dot)org>
Cc: pgsql-committers(at)postgresql(dot)org
Subject: Re: pgsql: Support unlogged tables.
Date: 2010-12-29 12:23:36
Message-ID: AANLkTinmWADVT-w+TYWBVqJrTCqKeOcEVhS=wPeO2mMb@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-committers

On Wed, Dec 29, 2010 at 6:49 AM, Robert Haas <rhaas(at)postgresql(dot)org> wrote:
> The contents of an unlogged table are WAL-logged; thus, they are not
> available on standby servers and are truncated whenever the database
> system enters recovery.  Indexes on unlogged tables are also unlogged.
> Unlogged GiST indexes are not currently supported.

Sigh. s/are/aren't/, as Devrim just pointed out to me off-list.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company