使用PostgreSQL运行rails db迁移的最低权限

我注册了一个网络主机计划,所以我可以发布我的rails应用程序。 他们为我提供了服务器并访问它。 这是一个共享的CentOS Linux服务器,我可以访问它的bash。

我试图将我的数据库模式加载到他们提供的postgres数据库(v8.4)中,但这样做会给我一个错误。 当我执行:

RAILS_ENV=production rake db:schema:load 

生成以下错误:

 -- enable_extension("plpgsql") rake aborted! ActiveRecord::StatementInvalid: PG::SyntaxError: ERROR: syntax error at or near "EXTENSION" LINE 1: CREATE EXTENSION IF NOT EXISTS "plpgsql" ^ : CREATE EXTENSION IF NOT EXISTS "plpgsql" /home/user/path-to-app/db/schema.rb:17:in `block in ' /home/user/path-to-app/db/schema.rb:14:in `' PG::SyntaxError: ERROR: syntax error at or near "EXTENSION" LINE 1: CREATE EXTENSION IF NOT EXISTS "plpgsql" ^ /home/user/path-to-app/db/schema.rb:17:in `block in ' /home/user/path-to-app/db/schema.rb:14:in `' Tasks: TOP => db:schema:load (See full trace by running task with --trace) 

因为Web主机提供程序不允许许多数据库权限,并且由于我不熟悉PostgreSQL,所以我更倾向于在路边改变某些东西的解决方案……

我可以在轨道上做些什么来解决(或希望解决)这个问题吗?

如果从铁路方面无法真正做到任何事情,我必须具备必要的特权。

这个PostgreSQL EXTENSION对象似乎要求我的db用户没有的权限……

在PostgeSQL中运行db迁移的rails数据库用户的最低权限是什么?

更新

这是关于PostgreSQL 8.4,根据这里的评论,女巫没有“CREATE EXTENSION”命令。

Postgres 9.1引入了CREATE EXTENSION ,我建议你运行迁移:

 RAILS_ENV=production bundle exec rake db:migrate