Azure PostgreSQL: невозможно удалить базу данных через Azure CLI

Я создал конвейер с использованием Azure DevOps для базы данных Azure PostgreSQL.

Что на самом деле делают конвейеры?

  1. Подключитесь к PostgreSQL;
  2. Удалите базу данных db_test из PostgreSQL с помощью Azure CLI;

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?

1 ответ

Делает az postgres db showпоказать детали базы данных? Пожалуйста, проверьте, происходит ли это из-за такого поведения, хотя обсуждение в цитируемом потоке связано с базой данных SQL.

Если проблема не исчезнет, ​​оставьте свой отзыв здесь. Откройте проблему с нашим репозиторием на GitHub, чтобы наша внутренняя команда могла ознакомиться с ней.

Спасибо за ответ!

Другие вопросы по тегам