LEROY TENNISON <leroy_tennison@xxxxxxxxxxx> writes: > Postgresql documentation lists the following as an archive command > for log shipping: > > archive_command = 'test ! -f /mnt/server/archivedir/%f && cp %p /mnt/ > server/archivedir/%f' > > The problem is that it is very fragile. If anything breaks the copy > (either system failing, network issues) then log shipping stops > because the file exists in some intermediate state. The result is > that logs build up on the source system filling disk space. I've had > to deal with a few of these this week, in two cases the file system > was 98% full. Is there a reason rsync isn't used? It has the > ability to restart interrupted transfers. I don't want to use it > only to find out i got myself into another predicament. Any other > less-fragile options? Thanks for the help. You are free to use any $better thing as archive command. The classic example given in the docs is appealing for simplicity's sake. I don't understand your piece about "restart interrupted transfers". Postgres will only archive 1 file at a time anyhow and will retry/restart till whatever your archive_command is returns true. 16M WAL segments aren't these days large enough IMO that being able to carry on a half-copied file is compelling. HTH > > -- Jerry Sievers Postgres DBA/Development Consulting e: postgres.consulting@xxxxxxxxxxx