У меня есть экземпляр RDS с PostgreSQL версии 13.13. Цель — обновить его до версии 15.5. Во время обновления я получаю сообщение об ошибке
5342: GRANT "" TO "my_user_1" GRANTED BY "my_user_1";
5343: psql:/rdsdbdata/db/pg_upgrade_output.d/20240315T142926.905/dump/pg_upgrade_dump_globals.sql:186: ERROR: zero-length delimited identifier at or near """"
5344: LINE 1: GRANT "" TO "my_user_1" GRANTED BY "my_user_1";
Итак, у кого-нибудь есть идеи, как это исправить?
Спасибо


Я не знаю, как и почему это произошло, но каким-то образом в моей БД была создана роль с пустым именем. У других копий этой БД этой пустой роли не было. Мне не удалось удалить эту пустую роль, поскольку она была пуста. Я также не смог его изменить. В целом обновление с 13.13 до 15.5 происходит очень без проблем.
ну, немного сложно понять, что пошло не так, просто глядя на показанный код, вы пытаетесь предоставить значение переменной нулевой длины, поэтому, если нет другой логики, вам нужно предоставить другую часть кода, которая влияет на это. Если это действительно отдельная логика, вам просто нужно предоставить соответствующую роль/[набор] разрешений/разрешений. Но это утверждение незаконно как в PSQL-13, так и в PSQL-15.