6 votes

ERREUR : Impossible d'exécuter SELECT dans une transaction en lecture seule lors de la connexion à la base de données.

Lorsque j'essaie de me connecter à ma base de données Amazon PostgreSQL, j'obtiens l'erreur ci-dessus. Avec pgAdmin, j'obtiens "error saving properties".

Je ne vois pas pourquoi, pour me connecter à un serveur, je devrais faire des actions d'écriture ?

4voto

Laurenz Albe Points 40920

Il y a plusieurs raisons pour lesquelles vous pouvez obtenir cette erreur :

  1. Le cluster PostgreSQL est en cours de récupération (ou est un standby de réplication en continu). Vous pouvez savoir si c'est le cas en exécutant

    SELECT pg_is_in_recovery();
  2. Le paramètre default_transaction_read_only est réglé sur on . Diagnostiquer avec

    SHOW default_transaction_read_only;
  3. La transaction en cours a été lancée avec

    START TRANSACTION READ ONLY;

    Vous pouvez savoir si c'est le cas en utilisant le paramètre non documenté

    SHOW transaction_read_only;

Si vous comprenez cela, mais que vous vous demandez encore pourquoi vous obtenez cette erreur, puisque vous n'avez pas conscience d'avoir tenté de modifier des données, cela signifierait que l'application que vous utilisez pour vous connecter tente de modifier quelque chose (mais pgAdmin ne devrait pas le faire).

Dans ce cas, consultez le fichier journal pour trouver l'instruction qui provoque l'erreur.

3voto

n33rma Points 2143

Il s'agissait d'un bogue qui est maintenant corrigé. La correction sera disponible dans la prochaine version.

https://redmine.postgresql.org/issues/3973

Si vous voulez essayer, vous pouvez utiliser la construction nocturne et vérifier : https://www.postgresql.org/ftp/pgadmin/pgadmin4/snapshots/2019-02-17/

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X