错误:连接到DB时,无法在只读事务中执行SELECT

问题描述 投票:3回答:2

当我尝试连接到我的Amazon PostgreSQL数据库时,出现上述错误。使用pgAdmin,我得到“错误保存属性”。

我不明白为什么连接到服务器,我会做任何写操作?

postgresql pgadmin-4
2个回答
3
投票

这是一个现已修复的错误,Fix将在下一个版本中提供。

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

如果你想尝试那么你可以使用Nightly build并检查:https://www.postgresql.org/ftp/pgadmin/pgadmin4/snapshots/2019-02-17/


1
投票

有几个原因可以解决此错误:

  1. PostgreSQL集群正处于恢复状态(或者是流式复制备用数据库)。您可以通过运行找出是否是这种情况 SELECT pg_is_in_recovery();
  2. 参数default_transaction_read_only设置为on。诊断 SHOW default_transaction_read_only;
  3. 当前的交易已经开始了 START TRANSACTION READ ONLY; 您可以使用未记录的参数查明是否是这种情况 SHOW transaction_read_only;

如果您理解这一点,但仍然想知道为什么会出现此错误,因为您不知道您尝试进行任何数据修改,这意味着您用于连接的应用程序会尝试修改某些内容(但pgAdmin不应该这样做) )。

在这种情况下,查看日志文件以找出导致错误的语句。

© www.soinside.com 2019 - 2024. All rights reserved.