Hi,
> To be reviewed easily, I'm splitting Synch Rep patch into some pieces.
Attached is a patch only to start and manage walsender process. This patch
don't include replication itself, walreceiver and signal handling patch, etc.
The outline of this patch is as follow:
Authentication
-----------------------
As pointed out at another thread, for authentication, I defined the database
only for replication (named "walsender" tentatively). walsender database is
not pseudo but created by initdb like postgres database, because the user
can re-create it easily even if it is lost accidentally.
If the startup packet specifies walsender database, a backend declares
postmaster working as walsender. Then, the backend is removed from
BackendList and managed as background process by postmaster.
Replication message
---------------------------------
I defined new message type 'R', which means the start of replication. If the
message is received, walsender will perform the main routine. Of course,
a backend who is not walsender cannot perform the routine.
Shutdown
----------------
I arranged the shutdown timing of walsender. For example, in smart
shutdown case, walsender should exit after bgwriter at least in order to
replicate a shutdown checkpoint xlog.
Initialization
--------------------
In the main routine, walsender sets up signal handlers, etc again.
And some bug fixes.
Regards,
--
Fujii Masao
NIPPON TELEGRAPH AND TELEPHONE CORPORATION
NTT Open Source Software Center