Re: How to do fast, reliable backups?
От | Chris Ruprecht |
---|---|
Тема | Re: How to do fast, reliable backups? |
Дата | |
Msg-id | 3D0F473F-7070-11D8-ABCF-000393447280@ruprecht.org обсуждение исходный текст |
Ответ на | Re: How to do fast, reliable backups? (Silvana Di Martino <silvanadimartino@tin.it>) |
Список | pgsql-admin |
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
В списке pgsql-admin по дате отправления: