我试图在9.6实例中运行SET session_replication_role = 'replica';,但是即使Postgres用户是一个cloudsql管理用户,我也遇到了这个错误ERROR: permission denied to set parameter "session_replication_role"。为了解决这个问题,我需要自己建立自己的管理实例,还是有办法解决这个问题?
发布于 2018-09-23 14:47:14
不幸的是,它没有连接到服务是否在Beta中,您不能在GCP中设置session_replication_role。
您需要拥有超级用户执行该操作的权限,但是GCP只允许cloudsqlsuperuser特权。是特点如下
当您为PostgreSQL实例创建一个新的Cloud时,默认的postgres用户已经为您创建了,尽管您必须设置其密码。 postgres用户是cloudsqlsuperuser角色的一部分,具有以下属性(特权):CREATEROLE、CREATEDB和LOGIN。它没有超级用户或复制属性.
您可以在这博客文章中找到更多的信息。
发布于 2018-03-28 06:45:20
据我所见,由于该服务目前在Beta中,仍然有一些功能是不可用的,例如。因此,我们需要等待更多的谷歌,以重新分配他们的产品的最终版本。
发布于 2022-07-22 11:58:31
我们也遇到了同样的问题。这是因为postgres用户没有Replication权限。
为解决这一问题:
( a)与postgres用户登录
( b)由于postgres用户拥有Create role权限。现在使用以下命令创建一个新用户:
CREATE USER <YOUR_USER> WITH PASSWORD '<YOUR_PASSWORD>' CREATEDB CREATEROLE REPLICATION IN GROUP cloudsqlsuperuser;
用用户名替换,用密码替换。
c)使用新创建的用户登录并运行
SET session_replication_role = 'replica';
如果您看到响应SET,那么您就可以走了。
https://stackoverflow.com/questions/49518255
复制相似问题