如何通过Cloud SQL Admin API删除非cloudsqlsuperuser所有的数据库?
结论
Cloud SQL Admin API 无法删除非cloudsqlsuperuser拥有的PostgreSQL数据库。
具体说明
你收到的错误信息里已经给出了官方明确指引:
(Please use psql client to delete database that is not owned by "cloudsqlsuperuser").
这是因为Cloud SQL Admin API执行删除操作时,默认以cloudsqlsuperuser身份发起请求,但PostgreSQL的权限规则要求删除数据库必须是该库的所有者(或拥有超级用户权限的用户)。而Admin API的设计逻辑仅支持删除cloudsqlsuperuser名下的数据库,非该用户所有的数据库,只能通过PostgreSQL原生客户端工具处理:
- 使用psql命令行工具连接实例,以目标数据库的所有者身份执行:
DROP DATABASE "DBNAmE"; - 通过Node.js的PostgreSQL客户端库(比如
pg包),用具备对应权限的用户建立连接后,执行DROP DATABASE语句完成删除。
内容的提问来源于stack exchange,提问作者brandizzi
相关产品推荐
相关产品推荐

