Heikki Linnakangas <hlinnakangas(at)vmware(dot)com> writes:
> So I propose the attached patch. I made small changes to postgres.c to
> make it call exec_replication_command() instead of exec_simple_query(),
> and reject extend query protocol, in a WAL sender process. A lot of code
> related to handling the main command loop and signals is removed from
> walsender.c.
Why do we need the forbidden_in_wal_sender stuff? If we're going in
this direction, I suggest there is little reason to restrict what the
replication client can do. This seems to be both ugly and a drag on
the performance of normal backends.
regards, tom lane