Azure PostgreSQL:无法通过Azure CLI删除数据库

时间:2019-10-07 10:55:18

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

我已经使用Azure DevOps for Azure PostgreSQL数据库创建了管道。

管道的实际作用是什么?

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

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

但是,由于错误,我无法执行此操作:

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方面正确处理此类情况?

1 个答案:

答案 0 :(得分:0)

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

如果问题仍然存在,请随时放弃您的反馈意见here,与我们的GitHub repo打开一个问题,供内部团队研究。

感谢您的反馈!