Azure PostgreSQL: невозможно удалить базу данных через Azure CLI
Я создал конвейер с использованием Azure DevOps для базы данных Azure PostgreSQL.
Что на самом деле делают конвейеры?
- Подключитесь к PostgreSQL;
- Удалите базу данных 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, чтобы наша внутренняя команда могла ознакомиться с ней.
Спасибо за ответ!