Re: Streaming replication and non-blocking I/O
Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
From: Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
To: Fujii Masao <masao.fujii@gmail.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2009-12-21T17:26:16Z
Lists: pgsql-hackers
Fujii Masao wrote: > On Fri, Dec 18, 2009 at 11:42 AM, Fujii Masao <masao.fujii@gmail.com> wrote: >> Okey. Design clarification again; >> >> 0. Begin by connecting to the master using PQconnectdb() with new conninfo >> option specifying the request of replication. The startup packet with the >> request is sent to the master, then the backend switches to the walsender >> mode. The walsender goes into the main loop and wait for the request from >> the walreceiver. > <snip> >> 4. Start replication >> >> Slave -> Master: Query message, with query string "START REPLICATION: >> XXXX", where XXXX is the RecPtr of the starting point. >> >> Master -> Slave: CopyOutResponse followed by a continuous stream of >> CopyData messages with WAL contents. > > Done. Currently there is no new libpq function for replication. The > walreceiver uses only existing functions like PQconnectdb, PQexec, > PQgetCopyData, etc. Ok thanks, sounds good, I'll take a look. -- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com