BUG #17379: Cannot issue multi-command statements using a replication connection

The Post Office <noreply@postgresql.org>

From: PG Bug reporting form <noreply@postgresql.org>
To: pgsql-bugs@lists.postgresql.org
Cc: greg.rychlewski@gmail.com
Date: 2022-01-24T01:10:49Z
Lists: pgsql-bugs
The following bug has been logged on the website:

Bug reference:      17379
Logged by:          Greg Rychlewski
Email address:      greg.rychlewski@gmail.com
PostgreSQL version: 13.5
Operating system:   Mac OS
Description:        

When I issue the following multi-command query on a replication connection I
receive a syntax error:

$psql "dbname=postgres replication=database" -c "select 1;select 2;" 
ERROR:  syntax error

I was curious why this happens, given the documentation at [1] states "In
either physical replication or logical replication walsender mode, only the
simple query protocol can be used." 

For comparison, the following query returns the expected result:

$psql "dbname=postgres replication=database" -c "select 1;" 
 ?column? 
----------
        1

[1] https://www.postgresql.org/docs/current/protocol-replication.html

Commits

  1. Fix limitations on what SQL commands can be issued to a walsender.

  2. Remember to reset yy_start state when firing up repl_scanner.l.