PostgreSQL WAL Archival Best Practices?


The postgresql documentation gives an example archive_command of

archive_command = 'test ! -f /mnt/server/archivedir/%f && cp %p /mnt/server/archivedir/%f'  # Unix 

but adds the disclaimer saying

This is an example, not a recommendation

As someone who’s about to setup a postgresql database, I’m wondering what the best practice would be for handling WAL archival? Forgive me if this is already a question that’s been beaten to death, but my stackexchange search-foo is failing me. There *is a few recommendations for using pgBarman. Is it still a good direction to go?

Coming from a setup where MSSQL backups were handled by IT with a full backup taken daily in the morning with hourly transaction logs. I’m wondering what would be an equivalent setup in postgresql to give the ability of point-in-time recovery for the past week or two?