УДАЛЕНИЕ РОЛИ, ЕСЛИ СУЩЕСТВУЕТ, завершается ошибкой «не существует» вместо УВЕДОМЛЕНИЯ

#postgresql #postgresql-12

Вопрос:

Набор 20-месячной давности новых файлов DB provisioning .sql внезапно перестал работать в нашем экземпляре PostGRES 12.7, размещенном в облаке IBM. DROP ROLE IF EXISTS Теперь каждое предложение завершается ОШИБКОЙ, если ранее оно уведомляло об этом и продолжало настройку, даже если выполнялось в новой пустой базе данных.

Точные команды:

 DROP ROLE IF EXISTS "anonymous"; 
 

или

 DROP ROLE IF EXISTS "FLUMMOXED"; 
 

Возврат

  ERROR:  role "FLUMMOXED" does not exist
 SQL state: 42704
 

вместо УВЕДОМЛЕНИЯ.

Что я пробовал:

  • Я просмотрел руководство по PostGRES, и эта команда не изменилась с момента выпуска PostGRES 8.
  • Я прочитал другие сообщения, в которых подчеркивается чувствительность к оболочке.
  • Я проверил журнал обновления 12.8, и эта команда не упоминается.
  • Я пробовал эту команду на пустой новой БД, и там она тоже не удалась.

Кто-нибудь видел это раньше?

Спасибо.

Комментарии:

1. Я не вижу этого здесь, на моем исходном построенном экземпляре: select version(); PostgreSQL 12.7... , DROP ROLE IF EXISTS "FLUMMOXED"; NOTICE: role "FLUMMOXED" does not exist, skipping . Должно быть, это что-то из IBM Cloud.

2. Я согласен с Адрианом, я предлагаю обратиться в службу поддержки IBM Cloud.

3. Была ли «пустая новая база данных» в том же экземпляре, что и другая, или в другом экземпляре, все еще находящемся в IBM cloud, или где-то еще? Это управляемая IBM база данных или просто обычное программное обеспечение для баз данных, которое вы установили на аппаратное обеспечение, управляемое IBM?

4. @jjanes Это пустая новая база данных в новом пустом экземпляре IBM Cloud SaaS postgres-как-услуга.

5. Это вопрос для службы поддержки IBM.