Cluster assíncrono do PostgreSQL com confirmações síncronas parciais

1

Estamos planejando um cluster PG completo síncrono com 3 nós, mas nos perguntamos se é possível ter um cluster assíncrono com confirmações síncronas parciais.

Normalmente, você torna seu cluster totalmente síncrono e pode dizer que transações únicas sejam assíncronas definindo "SET LOCAL synchronous_commit TO OFF". Existe o outro caminho também ou não?

    
por martinseener 23.06.2014 / 11:30

1 resposta

1

Sim, você pode fazer o contrário.

Basta configurá-lo como um cluster síncrono normal, mas defina synchronous_commit = off em postgresql.conf . Então:

SET LOCAL synchronous_commit TO ON

nas transações que você deseja confirmar de forma síncrona.

Tenha em mente, porém, que uma confirmação síncrona forçará as confirmações anteriores a serem liberadas antes de poderem ser confirmadas. Portanto, se você cometer 1, 2, 3, 4, 5, [sync]6, 7, 8 , os commits de 1 a 6 inclusive deverão ser liberados antes que o commit 6 possa relatar o sucesso.

    
por 23.06.2014 / 11:45