试图在数据库中创建一个用户,它告诉我cannot execute **** in a read-only transaction。我不知道这是怎么回事?这是数据库或连接中的一个坏状态吗?为什么这说明它不是在一个事务中,而是告诉我它是一个只读事务?“事务”指的是同一件事吗?
$ psql --host localhost --port 5432 --username **** postgres --no-password -v dbuser=root -t -X
psql (10.1, server 9.4.13)
SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)
Type "help" for help.
postgres=# set transaction read write;
WARNING: SET TRANSACTION can only be used in transaction blocks
ERROR: cannot set transaction read-write mode during recovery
postgres=# CREATE USER root WITH PASSWORD 'root';
ERROR: cannot execute CREATE ROLE in a read-only transaction发布于 2017-12-07 20:58:16
你的数据库正在恢复中。
要么是热待机(很可能),要么是SELECT pg_wal_replay_pause()或recovery_target_action = 'pause'在recovery.conf中暂停了恢复(与SELECT pg_is_wal_replay_paused()检查),要么是时间点恢复仍在运行。
使用主恢复或完全恢复。
https://stackoverflow.com/questions/47702500
复制相似问题