Alter TYPE RENAME VALUE работает в Postgres 10, а не в Postgres 9.6? - PullRequest
0 голосов
/ 14 сентября 2018

Я использую Postgres 10.3.

Исходя из этого вопроса , я использую:

ALTER TYPE name RENAME VALUE attribute_name TO new_attribute_name

чтобы переименовать значение перечисления.

Но мне нужно решение, которое работает с Postgres 9.6, которое не требует обновления pg_enum вручную, потому что ему нужны разрешения, которых у меня нет.

1 Ответ

0 голосов
/ 14 сентября 2018

В PostgreSQL 9.6 не поддерживается способ переименования значения enum.

Прямое изменение pg_enum - это то, что вы должны исключать не только из-за проблем с разрешениями, но и из-за того, что напрямую возитесь с системными каталогамиявляется опасным и может уничтожить ваши данные.

Вы должны использовать enums с осторожностью.Они хороши, только если их никогда не нужно модифицировать.Если есть вероятность, что значения перечисления не будут неизменными, используйте вместо этого справочную таблицу.

...