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 |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
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
From | Date | Subject | |
---|---|---|---|
Next Message | Heikki Linnakangas | 2008-10-31 15:05:00 | pgsql: Unite ReadBufferWithFork, ReadBufferWithStrategy, and |
Previous Message | Kevin Grittner | 2008-10-31 15:01:05 | Re: Distinct types |