Hi!
This is a known issue with synchronous replication [1]. You might inject into unmodified operation some dummy modification to overcome the negative sides of such partially committing without source code patching.
On 20.04.2021 19:23, Aleksander Alekseev wrote:
Although it's unlikely that someone implemented an application which deals with important data and "pressed Ctr+C" as it's done in psql.
Some client libraries have feature to cancel session that has similar effect to "Ctrl+C" from psql after specified by client deadline expiration [2]. Hence, this case might be quite often when application interacts with database.
On Mon, Apr 19, 2021 at 10:13 PM Ondřej Žižka <ondrej.zi...@stratox.cz> wrote: From the synchronous_commit=remote_write level and "higher", I would expect, that when the remote application (doesn't matter if flush, write or apply) would not be applied I would not receive a confirmation about the commit (even with a warning). Something like, if there is no commit from sync replica, there is no commit on primary and if someone performs the steps above, the whole transaction will not send a confirmation.
The warning have to be accounted here and performed commit have not to be treated as *successful*.
1. https://www.postgresql.org/message-id/C1F7905E-5DB2-497D-ABCC-E14D4DEE506C%40yandex-team.ru
2. https://www.postgresql.org/message-id/CANtu0ogbu%2By6Py963p-zKJ535b8zm5AOq7zkX7wW-tryPYi1DA%40mail.gmail.com
-- Regards, Maksim Milyutin