On 31/03/15 12:45, Tatsuo Ishii wrote: > In the doc: > > 25.2.5. Streaming Replication > : > The standby connects to the primary, which streams WAL records to the > standby as they're generated, without waiting for the WAL file to be > filled. > > This seems to claim that walsender sends WAL files which has not been > fsync'd yet. However, in walsender.c: > > /* > * Streaming the current timeline on a master. > * > * Attempt to send all data that's already been written out and > * fsync'd to disk. We cannot go further than what's been > written out > * given the current implementation of XLogRead(). And in any > case > * it's unsafe to send WAL that is not securely down to disk on > the > * master: if the master subsequently crashes and restarts, > slaves > * must not have applied any WAL that gets lost on the master. > */ > > This one says walsender sends WAL records as long as there are > fsync'd. > > Am I missing something? > >
I think the docs are trying to say that streaming replication doesn't wait for a (16MB) WAL *file* to be filled. but sends each (fsync'd) WAL record. I had to reread it several times too :-) Cheers Mark -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers