我是管理服务器的新手,尤其是Ubuntu Server上的
postgresql,所以请耐心等待.
我正在尝试在两台不同的计算机上同步两个数据库,但我不确定我做错了什么,因为无论我试图做什么,它似乎都将服务器配置为只读模式.
例如,如果我想创建一个角色,我会得到:
ERROR: cannot execute CREATE ROLE in a read-only transaction
或者,如果我想创建一个表,我会收到一条错误消息:
ERROR: cannot execute CREATE TABLE in a read-only transaction.
我不知道该怎么做,所以非常感谢有关如何解决这个问题的建议.
顺便说一下,我在Ubuntu Server 12.04上运行Postgresql 9.1版.
由于SELECT pg_is_in_recovery()为true,因此您将以hot_standby模式连接到只读副本服务器.副本配置位于recovery.conf中.
除了将其提升为主服务器之外,您无法进行读/写操作,此时它将停止从旧主服务器获取新的更改.见PostgreSQL documentation on replication.
第一步是检查数据目录中是否有“recovery.conf”文件.如果存在,如果您确定自己在主服务器(非从服务器)上,则将该文件重命名为’recover.conf.backup’.然后,重新启动postgresql服务器.它应该允许您现在编写新记录.