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


---------------------------(end of broadcast)--------------------------- TIP 9: the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match

Reply via email to