Пытаюсь импортировать дамп с его расширениями, отрывок из SQL:
CREATE EXTENSION IF NOT EXISTS plpgsql WITH SCHEMA pg_catalog;
COMMENT ON EXTENSION plpgsql IS 'PL/pgSQL procedural language';
CREATE EXTENSION IF NOT EXISTS hstore WITH SCHEMA public;
COMMENT ON EXTENSION hstore IS 'data type for storing sets of (key, value) pairs';
Импорт (через пользовательский интерфейс Gcloud SQL) не выполняется с SET SET SET SET SET SET CREATE EXTENSION ERROR: must be owner of extension plpgsql
.
Это понятная ошибка (у пользователя сервиса GCloud нет прав), но это не помогает. Я не могу контролировать процесс восстановления, если он запускается пользовательским интерфейсом и вручную устанавливает права собственности, Google Cloud SQL не позволяет назначать полномочия суперпользователя роли (и это не лучший способ справиться с этим).
Как лучше поступить в такой ситуации?
Пока никто не ответил, так что я расскажу, как я это преодолел.
Подключитесь к своему экземпляру как пользователь postgres, подключитесь к базе данных template1 и установите необходимые расширения (если они находятся в список поддерживаемых).
Отбросьте и заново создайте свою БД из пользовательского интерфейса Cloud SQL. Может и мануал работает, но я решил не тестировать. Пользовательский интерфейс сообщает вам, что новая БД будет создана с использованием template1.
В моем случае были только расширения plpgsql и hstore, так что никаких проблем.