c.jewell@xxxxxxxxxxxxxxx (Chris Jewell) writes: > I'm trying to implement a backup strategy for a research database in > order to prevent again users accidentally dropping their data. > > My preferred method would be to create regular snapshots of the data > directory, and then send this to the backup server using rsync, with > hard-linking backup rotation. The backup data directories could then be > examined using a postmaster running on the backup server to extract any > accidentally deleted tables. > > My problem is how to do these snapshots: is it enough to create a hard > link to the directory, or is there still a risk that a currently running > transaction might introduce inconsistencies? I guess I could use the > pg_ctl -m 'Smart' command to stop the database after all clients have > disconnected, but I sometimes have users leaving their clients connected > all night. Is there any other way to suspend the postmaster such that > it finishes its current transaction and queues any other transactions > while the snapshot is taking place? Any other ideas of how I can create > such snapshots? Short answer to "is there a risk?" is "You betcha!" There's a fairly new feature called Point in Time Recovery that is specifically designed to address those risks. <http://www.postgresql.org/docs/8.1/static/backup-online.html> -- let name="cbbrowne" and tld="ntlug.org" in String.concat "@" [name;tld];; http://cbbrowne.com/info/advocacy.html The English exam was a piece of cake---which was a bit of a surprise, actually, because I was expecting some questions on a sheet of paper.