On Saturday, Mar 6, 2004, at 08:39 US/Eastern, Silvana Di Martino wrote:
>
> Making a copy of your data directory while your server is running is
> definitely a bad idea. Forget it. Backing up the file system used by a
> RDBMS
> usually requires to put the server off-line and flush all the
> unwritten data
> to the disk. This cannot be done in a 24/7 environment.
>
>> What I'd like to see is a transaction aware backup which backs up
>> indexes
>> as well as data.
>
Well, at work we're using a commercial database called Progress. It has
a very nice backup utility which creates a backup file as follows:
All current database blocks are backed up as they are at the time the
backup starts. Each DB block has a unique identifier. If a running
transactions wants to write to a block which has not jet been backed
up, the transaction is put on hold, the block is backed up and the
transaction can then continue.
If you restore a database which contains blocks of incomplete
transactions, these transactions are backed out when you start the DB
server (broker).
The DB can also (not done by default) maintain an after image log which
contains all transactions since the last backup. This log needs to be
kept on a drive, different from the DB. In case the DB drive crashes,
you can recover from your last backup and then roll forward the after
image log.
Is there any slight possibility, some mechanism can make it into
Progresql at some stage (maybe version 8)?
Best regards,
Chris
--
Chris Ruprecht
Network Grunt and Bit Pusher extraordinaíre