You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在CloudSQL Postgres中修改含连字符的服务账号权限?

解决PostgreSQL中为带特殊字符的Google Cloud服务账号授权的问题

对于包含连字符、@、点号这类特殊字符的Google Cloud服务账号,PostgreSQL要求必须用双引号完整包裹用户名才能正确识别为标识符。

正确的授权语句

ALTER USER "sa-sql@project-sandbox.iam.gserviceaccount.com" WITH REPLICATION;

为什么之前的尝试失败

  • 用单引号包裹:单引号在PostgreSQL中用于定义字符串字面量,而非标识符,数据库会把'sa-sql@xxx'当成普通字符串,而非用户名,因此执行报错。
  • 不加引号直接写:无引号的情况下,PostgreSQL会将sa-sql解析为用户名,后续的@会被当作语法错误处理,因为连字符和@属于非标准标识符字符,必须用双引号包裹才能被整体识别。

前置验证步骤

如果执行正确语句仍报错,先确认账号是否存在:

SELECT usename FROM pg_user WHERE usename = 'sa-sql@project-sandbox.iam.gserviceaccount.com';

若查询无结果,需先创建该账号(如果尚未创建):

CREATE USER "sa-sql@project-sandbox.iam.gserviceaccount.com";

内容的提问来源于stack exchange,提问作者Winston Kyu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 19:22:03