"System catalog modifications are currently disallowed" - вдруг
May 14, 2019 17:51
Или, пара строк о том, почему я, в отличии от коллег, не трачу время на экзамены Oracle и PostgreSQL . Эпиграф.
Стандартная задача - установить расширение PostgreSQL "pg_stat_statements". Казалось бы, никаких проблем. Тем более перед продакшн , было проверено на тестовом инстансе.
Однако : => CREATE EXTENSION IF NOT EXISTS pg_stat_statements; ERROR: permission denied to create "pg_catalog.pg_stat_statements" DETAIL: System catalog modifications are currently disallowed.
Сказать, что удивился ничего не сказать. Вошел то , пользователем с ролью superuser => \du List of roles Role name | Attributes | Member of ----------------------+------------------------------------------------+-------------------------------------------------------------- stc | Create role, Create DB +| {rds_superuser} | Password valid until infinity |
Посмотрел в чем разница между тестовым и продакшн инстансами - все идентично.
Что делать?
Надо спросить помощи коллег . Благо , сдавшие экзамен по PostgreSQL имеются в наличии .
Однако - "не знаю в чем дело , надо погуглить "
Что-же делать, придется спрашивать в support, благо база в облаке AWS. В общем-то вопрос не горящий, поэтому ответ пришел не сразу, была возможность погулглить и подумать , может быть получится решиьть проблему самому. Нет не получилось.
Итак , ответ от вежливого индуса из support : [Все оказалось не просто, а очень просто -] ======================================== SOLUTION ======================================== Thus, in order to fix the issue, you will have to set the search path to any other schema other than "pg_catalog". You can either use any of the following methods: == Using the following command. This will set the search path at the session level. $psql=>set search_path to public; (You can alternatively use any other schema. I have used public schema for example).