On Tue, Jun 26, 2012 at 5:24 PM, Robert Haas <robertmh...@gmail.com> wrote:
> On Sun, Jun 24, 2012 at 5:33 PM, David Kerr <d...@mr-paradox.net> wrote:
>> Howdy,
>>
>> We're using NetApp's flexclone's whenever we need to move our DB between 
>> machines.
>>
>> One specific case where we do that is when we're creating a new streaming 
>> replication target.
>>
>> The basic steps we're using are:
>> pg_start_backup();
>> <flex clone within the netapp>
>> pg_stop_backup();
>>
>> The problem i'm seeing is that periodically the backup_label is empty, which 
>> means
>> I can't start the new standby.
>>
>> I believe that since the NetApp stuff is all happening within the SAN this 
>> file hasn't been
>> fsynced to disk by the time we take the snapshot.
>>
>> One option would be to do a "sync" prior to the clone, however that seems 
>> kind of like a
>> heavy operation, and it's slightly more complicated to script. (having to 
>> have a user
>> account on the system to sudo rather than just connecting to the db to issue 
>> the
>> pg_start_backup(...) )
>>
>> Another option is to add pg_fsync(fileno(fp)) after the fflush() when 
>> creating the file (I'm not
>> sure if fsync implies fflush or not, if it does you could just replace it.)
>>
>> I think this type of snapshot is fairly common, I've been doing them since 
>> 2000 with EMC,
>> i'm sure that most SAN vendors support it.
>
> These seems like a good idea to me.  Actually, I'm wondering if we
> shouldn't back-patch this.
>
> Thoughts?

Certainly can't hurt.

I guess any other files that are lost this way will be recreated by
WAL recovery - or is there something else tha tmight be of risk of
similar treatment?

-- 
 Magnus Hagander
 Me: http://www.hagander.net/
 Work: http://www.redpill-linpro.com/

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to