Обсуждение: UFS2 Snapshots and Postgres
Hi everyone,
I'm using FreeBSD 9 for Postgres and want to know if these actions
are safe for make a backup of the database:
a) call pg_start_backup('b1')
b) take an UFS2 snapshot of data files
c) call pg_stop_backup()
d) change to the snapshot dir and rsync/dd/dump/transfer it to backup
file server
Is it safe to call pg_start_backup('b1',true)?
Thanks in advance
On 6/25/2012 7:35 AM, Eduardo Morras wrote:
Snapshots are "safe" (but will result in a roll-forward on restart) IF AND ONLY IF the log data and database table spaces are all on the same snapshotted volume.
Hi everyone,
I'm using FreeBSD 9 for Postgres and want to know if these actions are safe for make a backup of the database:
a) call pg_start_backup('b1')
b) take an UFS2 snapshot of data files
c) call pg_stop_backup()
d) change to the snapshot dir and rsync/dd/dump/transfer it to backup file server
Is it safe to call pg_start_backup('b1',true)?
Thanks in advance
IF THEY ARE NOT then it will probably work 95% of the time, and the other 5% it will be unrecoverable. Be very, very careful -- the snapshot must in fact snapshot ALL of the involved database volumes (log data included!) at the same instant.
At 15:16 25/06/2012, you wrote:
>On 6/25/2012 7:35 AM, Eduardo Morras wrote:
>>
>>Hi everyone,
>>
>>I'm using FreeBSD 9 for Postgres and want to know if these actions
>>are safe for make a backup of the database:
>>
>>a) call pg_start_backup('b1')
>>b) take an UFS2 snapshot of data files
>>c) call pg_stop_backup()
>>d) change to the snapshot dir and rsync/dd/dump/transfer it to
>>backup file server
>>
>>Is it safe to call pg_start_backup('b1',true)?
>>
>>Thanks in advance
>Snapshots are "safe" (but will result in a roll-forward on restart)
>IF AND ONLY IF the log data and database table spaces are all on the
>same snapshotted volume.
>
>IF THEY ARE NOT then it will probably work 95% of the time, and the
>other 5% it will be unrecoverable. Be very, very careful -- the
>snapshot must in fact snapshot ALL of the involved database volumes
>(log data included!) at the same instant.
Even if i do a pg_start_backup()? I thought it set db data/ files in
a consistent state and puts in wal files the new transactions and
apply them when call pg_stop_backup().
I must do it other way then :(
Thanks
On Mon, Jun 25, 2012 at 4:34 PM, Eduardo Morras <nec556@retena.com> wrote:
> At 15:16 25/06/2012, you wrote:
>
>
>> On 6/25/2012 7:35 AM, Eduardo Morras wrote:
>>>
>>>
>>> Hi everyone,
>>>
>>> I'm using FreeBSD 9 for Postgres and want to know if these actions are
>>> safe for make a backup of the database:
>>>
>>> a) call pg_start_backup('b1')
>>> b) take an UFS2 snapshot of data files
>>> c) call pg_stop_backup()
>>> d) change to the snapshot dir and rsync/dd/dump/transfer it to backup
>>> file server
>>>
>>> Is it safe to call pg_start_backup('b1',true)?
>>>
>>> Thanks in advance
>>
>> Snapshots are "safe" (but will result in a roll-forward on restart) IF AND
>> ONLY IF the log data and database table spaces are all on the same
>> snapshotted volume.
>>
>> IF THEY ARE NOT then it will probably work 95% of the time, and the other
>> 5% it will be unrecoverable. Be very, very careful -- the snapshot must in
>> fact snapshot ALL of the involved database volumes (log data included!) at
>> the same instant.
>
>
> Even if i do a pg_start_backup()? I thought it set db data/ files in a
> consistent state and puts in wal files the new transactions and apply them
> when call pg_stop_backup().
>
> I must do it other way then :(
No, if you use pg_start_backup() and pg_stpo_backup() (and verify all
their return codes...), *and* you use log archiving using
archive_command, then snapshots are safe even if they are on different
filesystems.
--
Magnus Hagander
Me: http://www.hagander.net/
Work: http://www.redpill-linpro.com/
On Jun 25, 2012, at 10:34 AM, Eduardo Morras wrote: >>> Thanks in advance >> Snapshots are "safe" (but will result in a roll-forward on restart) IF AND ONLY IF the log data and database table spacesare all on the same snapshotted volume. >> >> IF THEY ARE NOT then it will probably work 95% of the time, and the other 5% it will be unrecoverable. Be very, verycareful -- the snapshot must in fact snapshot ALL of the involved database volumes (log data included!) at the same instant. > > Even if i do a pg_start_backup()? I thought it set db data/ files in a consistent state and puts in wal files the new transactionsand apply them when call pg_stop_backup(). > > I must do it other way then :( > > Thanks If you are doing pg_start_backup(), taking snapshot and pg_stop_backup with archived WAL file backups. Then its safe. Thanks & Regards, Vibhor Kumar EnterpriseDB Corporation The Enterprise PostgreSQL Company Blog: http://vibhork.blogspot.com
At 15:16 25/06/2012, you wrote:
>On 6/25/2012 7:35 AM, Eduardo Morras wrote:
>>
>>Hi everyone,
>>
>>I'm using FreeBSD 9 for Postgres and want to know if these actions
>>are safe for make a backup of the database:
>>
>>a) call pg_start_backup('b1')
>>b) take an UFS2 snapshot of data files
>>c) call pg_stop_backup()
>>d) change to the snapshot dir and rsync/dd/dump/transfer it to
>>backup file server
>>
>>Is it safe to call pg_start_backup('b1',true)?
>>
>>Thanks in advance
>Snapshots are "safe" (but will result in a roll-forward on restart)
>IF AND ONLY IF the log data and database table spaces are all on the
>same snapshotted volume.
>
>IF THEY ARE NOT then it will probably work 95% of the time, and the
>other 5% it will be unrecoverable. Be very, very careful -- the
>snapshot must in fact snapshot ALL of the involved database volumes
>(log data included!) at the same instant.
Even if i do a pg_start_backup()? I thought it set db data/ files in
a consistent state and puts in wal files the new transactions and
apply them when call pg_stop_backup().
I must do it other way then :(
Thanks