我们有一个系统,可以在 Cloud SQL for PostgreSQL 实例中以编程方式创建和删除数据库。这些数据库的所有者不是
cloudsqlsuperuser
。
databases.delete
NPM 模块使用 @googleapis/sqladmin
API 调用来删除它们。但是,当我们调用它时,我们会收到此错误:
Invalid request: failed to delete database "DBNAmE".
Detail: pq: must be owner of database lportal.
(Please use psql client to delete database that is not owned by "cloudsqlsuperuser").
虽然我们可以尝试使用
psql
进行删除,或者使用 PostgreSQL Node 客户端来运行 DROP DATABASE
,但我想知道:
有没有办法通过 Cloud SQL Admin API 删除所有者不是
cloudsqlsuperuser
的数据库?
有没有办法通过 Cloud SQL Admin API 删除所有者不是 cloudsqlsuperuser 的数据库?
该错误消息给我的印象是不存在。鉴于它已经指出要使用
psql
客户端。
@google-cloud/cloud-sql-connector
是 Google Cloud SDK 团队在 @googleapis/sqladmin
之上构建的一个方便的软件包,它使得连接到 Cloud SQL 实例变得更加简单和安全。
如果您决定使用节点客户端来运行
DROP DATABASE
,我强烈建议您尝试一下,您可以从quickstarters、samples和tests开始。