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? -- Robert Haas EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers