Re: Sharing more infrastructure between walsenders and regular backends (was Re: Switching timeline over streaming replication)
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Heikki Linnakangas <hlinnakangas@vmware.com>
Cc: Amit Kapila <amit.kapila@huawei.com>, "'PostgreSQL-development'" <pgsql-hackers@postgresql.org>
Date: 2012-10-04T16:00:00Z
Lists: pgsql-hackers
Heikki Linnakangas <hlinnakangas@vmware.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