> 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 :-)
Thanks for the explanation. That makes sense. The docs definitely has a room for improvement. Best regards, -- Tatsuo Ishii SRA OSS, Inc. Japan English: http://www.sraoss.co.jp/index_en.php Japanese:http://www.sraoss.co.jp -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers