Я развертываю приложение Rails, использующее PostgreSQL и HSTORE.
Для его развертывания я использую резину.
Все работает, за исключением того, что HSTORE не включен должным образом. Когда выполняется миграция, содержащая execute("CREATE EXTENSION hstore")
, я получаю следующие ошибки:
** [out :: production.---]
** [out :: production.---] -- execute("CREATE EXTENSION hstore")
** [out :: production.---]
** [out :: production.---] rake aborted!
** [out :: production.---] An error has occurred, this and all later migrations canceled:
** [out :: production.---]
** [out :: production.---] PG::Error: ERROR: permission denied to create extension "hstore"
** [out :: production.---] HINT: Must be superuser to create this extension.
Сценарий, создающий экземпляр postgres, имеет следующий код:
create_user_cmd = "CREATE USER #{env.db_user} WITH NOSUPERUSER CREATEDB NOCREATEROLE"
поэтому я думаю, что проблема может быть связана с установленным здесь атрибутом NOSUPERUSER
.
Есть ли способ включить hstore с использованием резины, сохранив при этом большинство сгенерированных файлов без изменений?
activerecord-postgres-hstore
? Он устанавливает функциональность hstore путем миграции. - person R Milushev   schedule 01.03.2013