Мои тесты показывают, что да, на удивление, это атомарно, то есть, если один запрос завершается неудачно, все они терпят неудачу, так же, как и внутри транзакции.
Я выясню, почему это так, и выложу обновление, если найду что-нибудь. См. открытый выпуск .
UPDATE
Расследование подтвердило, что именно PostgreSQL работает, когда несколько запросов отправляются в одной строке.
Документация для методов multi и multiResult была изменена соответственно:
Операция является атомарной, то есть все запросы выполняются в одной транзакции, если в строку запроса не включены явные BEGIN/COMMIT
команды для разделения ее на несколько транзакций.