pgsql: Remove the logId/logSeg fields from pg_control, because they are

From: tgl(at)postgresql(dot)org (Tom Lane)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Remove the logId/logSeg fields from pg_control, because they are
Date: 2006-12-08 19:50:53
Message-ID: 20061208195053.A81339FA136@postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Log Message:
-----------
Remove the logId/logSeg fields from pg_control, because they are not needed
in normal operation, and we can avoid rewriting pg_control at every log
segment switch if we don't insist that these values be valid. Reducing
the number of pg_control updates is a good idea for both performance and
reliability. It does make pg_resetxlog's life a bit harder, but that seems
a good tradeoff; and anyway the change to pg_resetxlog amounts to automating
something people formerly needed to do by hand, namely look at the existing
pg_xlog files to make sure the new WAL start point was past them.

In passing, change the wording of xlog.c's "database system was interrupted"
messages: describe the pg_control timestamp as "last known up at" rather than
implying it is the exact time of service interruption. With this change the
timestamp will generally be the time of the last checkpoint, which could be
many minutes before the failure; and we've already seen indications that
people tend to misinterpret the old wording.

initdb forced due to change in pg_control layout. Simon Riggs and Tom Lane

Modified Files:
--------------
pgsql/doc/src/sgml/ref:
pg_resetxlog.sgml (r1.18 -> r1.19)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/ref/pg_resetxlog.sgml.diff?r1=1.18&r2=1.19)
pgsql/src/backend/access/transam:
xlog.c (r1.258 -> r1.259)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/transam/xlog.c.diff?r1=1.258&r2=1.259)
pgsql/src/bin/pg_controldata:
pg_controldata.c (r1.31 -> r1.32)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/bin/pg_controldata/pg_controldata.c.diff?r1=1.31&r2=1.32)
pgsql/src/bin/pg_resetxlog:
pg_resetxlog.c (r1.53 -> r1.54)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/bin/pg_resetxlog/pg_resetxlog.c.diff?r1=1.53&r2=1.54)
pgsql/src/include/catalog:
pg_control.h (r1.33 -> r1.34)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/catalog/pg_control.h.diff?r1=1.33&r2=1.34)

Browse pgsql-committers by date

  From Date Subject
Next Message User Knt 2006-12-09 17:02:33 plscheme - plscheme: Now it's possible to have both trusted and
Previous Message Tom Lane 2006-12-08 19:16:17 pgsql: Fix broken markup.