pgsql: Create a new dedicated Postgres process, "wal writer", which

From: tgl(at)postgresql(dot)org (Tom Lane)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Create a new dedicated Postgres process, "wal writer", which
Date: 2007-07-24 04:54:09
Message-ID: 20070724045409.D55E39FB46B@postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Log Message:
-----------
Create a new dedicated Postgres process, "wal writer", which exists to write
and fsync WAL at convenient intervals. For the moment it just tries to
offload this work from backends, but soon it will be responsible for
guaranteeing a maximum delay before asynchronously-committed transactions
will be flushed to disk.

This is a portion of Simon Riggs' async-commit patch, committed to CVS
separately because a background WAL writer seems like it might be a good idea
independently of the async-commit feature. I rebased walwriter.c on
bgwriter.c because it seemed like a more appropriate way of handling signals;
while the startup/shutdown logic in postmaster.c is more like autovac because
we want walwriter to quit before we start the shutdown checkpoint.

Modified Files:
--------------
pgsql/doc/src/sgml:
config.sgml (r1.132 -> r1.133)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/doc/src/sgml/config.sgml.diff?r1=1.132&r2=1.133)
pgsql/src/backend/access/transam:
xlog.c (r1.274 -> r1.275)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/transam/xlog.c.diff?r1=1.274&r2=1.275)
pgsql/src/backend/bootstrap:
bootstrap.c (r1.234 -> r1.235)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/bootstrap/bootstrap.c.diff?r1=1.234&r2=1.235)
pgsql/src/backend/postmaster:
Makefile (r1.22 -> r1.23)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/postmaster/Makefile.diff?r1=1.22&r2=1.23)
postmaster.c (r1.534 -> r1.535)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/postmaster/postmaster.c.diff?r1=1.534&r2=1.535)
pgsql/src/backend/utils/misc:
guc.c (r1.406 -> r1.407)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/misc/guc.c.diff?r1=1.406&r2=1.407)
postgresql.conf.sample (r1.220 -> r1.221)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/misc/postgresql.conf.sample.diff?r1=1.220&r2=1.221)
pgsql/src/include/access:
xlog.h (r1.80 -> r1.81)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/access/xlog.h.diff?r1=1.80&r2=1.81)
pgsql/src/include/bootstrap:
bootstrap.h (r1.46 -> r1.47)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/bootstrap/bootstrap.h.diff?r1=1.46&r2=1.47)

Added Files:
-----------
pgsql/src/backend/postmaster:
walwriter.c (r1.1)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/postmaster/walwriter.c?rev=1.1&content-type=text/x-cvsweb-markup)
pgsql/src/include/postmaster:
walwriter.h (r1.1)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/postmaster/walwriter.h?rev=1.1&content-type=text/x-cvsweb-markup)

Browse pgsql-committers by date

  From Date Subject
Next Message Magnus Hagander 2007-07-24 09:00:27 pgsql: Make it possible, and default, for MingW to build with SSPI
Previous Message Alvaro Herrera 2007-07-24 01:53:56 pgsql: Set a default autovacuum vacuum_cost_delay value of 20ms, to