错误:无法在只读事务中执行CREATE TABLE操作。

57

我正在尝试在我的本地机器上设置 pgexercises 数据。当我运行以下命令时:psql -U <username> -f clubdata.sql -d postgres -x 我收到错误信息:psql:clubdata.sql:6: ERROR: cannot execute CREATE SCHEMA in a read-only transaction

为什么它在我的本地机器上创建了只读数据库?我能改变这个吗?


你使用的是哪个用户名?这个用户有哪些访问权限?能创建数据库吗? - Renzo
在我的情况下,我有另一个在screen中运行的psql -f进程。启动另一个psql -f(即使使用不同的-h)也会给我带来你描述的错误。在这种情况下,您必须等待第一个psql进程完成,或者使用不同的主机来运行第二个psql命令。 - OrangePot
我知道这不是一个通用的解决方案,但当我遇到这个问题时,我无意中连接到了我的主数据库的只读副本。当我尝试使用 set transaction read write; 时,我收到了错误消息 cannot set transaction read-write mode during recovery - Andrew Rueckert
16个回答

0
我在我的 Windows 机器上安装的 postgres 数据库中突然遇到了这个错误。当我从 DBeaver 运行 alter 查询时,我只是在 DBeaver 中删除了 postgres 数据库的连接,并重新创建了一个新的连接。

0
对我来说,这是Azure PostgreSQL在Azure维护期间故障转移到备用节点,并且在PostgreSQL处于HA模式时从未恢复到主节点。您可以在服务健康状况中检查此事件,并检查当前VM正在运行的区域。如果它是2而不是1,则很可能是上述事件的结果。

0

0
如果您在使用RDS实例集群时遇到此问题,请检查您的端点并使用Writer实例端点。然后它应该可以正常工作了。

0

这是在我本地恢复生产数据库时发生的,该数据库仍在从WAL记录进行在线恢复。

有点出乎意料,因为我认为pgbackgrest正在创建即时可恢复的还原,但可能不是这样。

 91902 postgres  20   0 1445256  14804  13180 D   4.3  0.3   0:28.06 postgres: startup   recovering 000000010000001E000000A5  

0

问题可能是由于Intellij配置引起的:

Go to Database view> click on Data Source Properties (Shift + enter)> (Select your data source)> 
Options tab> Under Connection : uncheck Read-only

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接