Skip site navigation (1) Skip section navigation (2)

Enabling archive_mode without restart

From: Simon Riggs <simon(at)2ndQuadrant(dot)com>
To: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Enabling archive_mode without restart
Date: 2008-10-31 15:04:13
Message-ID: 1225465453.3971.574.camel@ebony.2ndQuadrant (view raw or flat)
Thread:
Lists: pgsql-hackers
Currently we enable archive_mode only at server start. The reason for
this was to protect against people enabling archive_mode half way
through somebody else running a bulk load without WAL and then having an
incomplete backup.

All we need to do is this:

* When we change archive_mode to "on" get the next xid and place it in
xlogctl. When we turn archive_mode "off" clear the value.

* When we run pg_start_backup() check the xid and then wait for all
transactions to end that can still see that xid before returning.

This means there may be a delay after enabling archive_mode before we
can run a backup, but normal running will not be interrupted.

It's a fairly small change, touching just guc.c and xlog.c, using same
code as DefineIndex() to wait.

Objections?

-- 
 Simon Riggs           www.2ndQuadrant.com
 PostgreSQL Training, Services and Support


Responses

pgsql-hackers by date

Next:From: Heikki LinnakangasDate: 2008-10-31 15:05:00
Subject: pgsql: Unite ReadBufferWithFork, ReadBufferWithStrategy, and
Previous:From: Kevin GrittnerDate: 2008-10-31 15:01:05
Subject: Re: Distinct types

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group