【问题标题】:Azure PostgreSQL: it is not possible to remove database through Azure CLIAzure PostgreSQL:无法通过 Azure CLI 删除数据库
【发布时间】:2019-10-07 10:55:18
【问题描述】:

我使用 Azure DevOps 为 Azure PostgreSQL 数据库创建了管道。

管道实际上是做什么的?

  1. 连接到 PostgreSQL;
  2. 使用 Azure CLI 从 PostgreSQL 中删除数据库 db_test;

az postgres db delete -g my_group -s database_here -n db_test --yes

但是,由于错误,我不能这样做:

An unexpected error occured while processing the request.

然后,我尝试使用 psql 删除数据库,但由于与数据库的现有连接而没有运气。

在我看来 - Azure CLI 必须处理此类问题并删除数据库或将正确的错误消息传递给我。例如,如果参数 --force 将被实现,那就太好了。

我已在 bash 脚本中使用以下语法删除了与数据库的所有连接:

psql "host=database_here port=5432 dbname=postgres user=postgres@database_here password=ReallyStrongPassword sslmode=require" -c "REVOKE CONNECT ON DATABASE db_test FROM PUBLIC; SELECT pg_terminate_backend(pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = 'db_test';"

并将 DROP 数据库操作另外添加到我的管道中:

psql "host=database_here port=5432 dbname=postgres user=postgres@database_here password=ReallyStrongPassword sslmode=require" -c "DROP database db_test;"

但我没有从管道中删除 AZ CLI 数据库删除步骤,它失败了,输出如下:

Operation failed with status: 200. Details: Resource state Failed

我认为在这一步中,AZ CLI 应该返回类似:“数据库不存在”。就像信息一样。

Azure端如何正确处理此类情况?

【问题讨论】:

    标签: azure azure-devops azure-cli azure-database-postgresql


    【解决方案1】:

    az postgres db show 是否显示数据库详细信息?请检查这是否是由于 this 行为而发生的,尽管引用线程中的讨论是在 SQL 数据库的上下文中进行的。

    如果问题仍然存在,请随时留下您的反馈here 向我们的GitHub repo 提出问题,供我们的内部团队查看。

    感谢您的反馈!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-24
      • 1970-01-01
      • 2019-06-23
      相关资源
      最近更新 更多