pgsql: Arrange to put TOAST tables belonging to temporary tables into

From: tgl(at)postgresql(dot)org (Tom Lane)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Arrange to put TOAST tables belonging to temporary tables into
Date: 2007-07-25 22:16:18
Message-ID: 20070725221618.E66769FBD12@postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Log Message:
-----------
Arrange to put TOAST tables belonging to temporary tables into special schemas
named pg_toast_temp_nnn, alongside the pg_temp_nnn schemas used for the temp
tables themselves. This allows low-level code such as the relcache to
recognize that these tables are indeed temporary, which enables various
optimizations such as not WAL-logging changes and using local rather than
shared buffers for access. Aside from obvious performance benefits, this
provides a solution to bug #3483, in which other backends unexpectedly held
open file references to temporary tables. The scheme preserves the property
that TOAST tables are not in any schema that's normally in the search path,
so they don't conflict with user table names.

initdb forced because of changes in system view definitions.

Modified Files:
--------------
pgsql/contrib/oid2name:
oid2name.c (r1.31 -> r1.32)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/contrib/oid2name/oid2name.c.diff?r1=1.31&r2=1.32)
pgsql/src/backend/catalog:
catalog.c (r1.70 -> r1.71)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/catalog.c.diff?r1=1.70&r2=1.71)
namespace.c (r1.96 -> r1.97)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/namespace.c.diff?r1=1.96&r2=1.97)
system_views.sql (r1.38 -> r1.39)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/system_views.sql.diff?r1=1.38&r2=1.39)
toasting.c (r1.6 -> r1.7)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/catalog/toasting.c.diff?r1=1.6&r2=1.7)
pgsql/src/backend/storage/lmgr:
lmgr.c (r1.91 -> r1.92)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/lmgr/lmgr.c.diff?r1=1.91&r2=1.92)
pgsql/src/backend/utils/cache:
relcache.c (r1.261 -> r1.262)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/cache/relcache.c.diff?r1=1.261&r2=1.262)
pgsql/src/bin/psql:
describe.c (r1.156 -> r1.157)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/bin/psql/describe.c.diff?r1=1.156&r2=1.157)
pgsql/src/include/catalog:
catversion.h (r1.414 -> r1.415)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/catversion.h.diff?r1=1.414&r2=1.415)
namespace.h (r1.47 -> r1.48)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/namespace.h.diff?r1=1.47&r2=1.48)
pgsql/src/test/regress/expected:
rules.out (r1.130 -> r1.131)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/test/regress/expected/rules.out.diff?r1=1.130&r2=1.131)

Browse pgsql-committers by date

  From Date Subject
Next Message Sachin Kulkarni 2007-07-26 01:40:23 Error: Resource owner.
Previous Message Tom Lane 2007-07-25 19:58:57 pgsql: Suppress warning when compiling with -DPROFILE_PID_DIR: