I am using pg 9.2.4 and ubuntu 12.04 to set up a pair of pg-Master and pg-Slave with streaming replication.
The archive_command is enabled and the "rsync" is used in pg-Master to save all its archived WAL files to the 3rd machine for backup purpose, by default, both fsync and wal_sync_method are commented out in postgresql.conf:
archive_command = '(cp %p /usr/pg_arcxlog/%f && rsync -aq %p pg@pg_slave:/usr/pg_arcxlog/%f' #fsync = on # turns forced synchronization on or off #wal_sync_method = fsync # the default is the first option
Thus I think the latest WAL might not be flushed to disk from time to time in pg-Master, therefore the WAL saved in the 3rd server might not contain the latest WAL. In order to avoid possible data lost, should 'fsync" be turned ON in pg-Master and pg-Slave? if yes what would be the best settings of "wal_sync_method" for these two servers respectively?
fsync is enabled unless you disable it, the fact that it is commented out means that it is set to its default ("on"). wal_sync_method at its default is probably fine, but if you are interested, look at the pg_test_fsync tool: http://www.postgresql.org/docs/9.2/static/pgtestfsync.html