1

我正在尝试将数据库扩展添加到我的一个应用程序中,特别是 blurstrmatch 扩展。每当我尝试添加它时,我都会收到以下错误

-- execute("CREATE EXTENSION fuzzystrmatch") rake aborted! An error has occurred, this and all later migrations canceled:

PGError: ERROR:  permission denied to create extension "fuzzystrmatch" HINT:  Must be superuser to create this extension. : CREATE EXTENSION fuzzystrmatch

关于成为超级用户,我发现的唯一一件事是:

https://blog.engineyard.com/2012/postgresql-9-1-is-now-in-beta `

我不知道该怎么做?我 ssh 到数据库然后必须 sudo 执行命令吗?我发现的一切都非常无益。感谢任何帮助。

4

1 回答 1

5

免责声明:我是Engine Yard 的DBA 之一。

在 Engine Yard 上,您的应用程序的 DB 用户帐户不是超级用户。但是,您确实可以访问超级用户帐户 - 只需使用“postgres”用户即可。显然,您只想将其用于管理任务,而不是在您的应用程序中!

也就是说,Engine Yard 已经提供了一种为 Postgres 启用此扩展和其他扩展的方法,如您链接的博客文章末尾所述。您可以使用厨师食谱自定义您的环境,我们在位于以下位置的自定义厨师存储库中提供启用 postgres 扩展的食谱: https ://github.com/engineyard/ey-cloud-recipes/tree/master/cookbooks/postgresql9_extensions

如果您已经在您的环境中使用自定义厨师食谱,那么设置应该很简单 - 如果没有,我建议您从这里的文档开始:https: //support.cloud.engineyard.com/entries/21009867-使用厨师食谱定制您的环境

如果您遇到任何问题,请开票,我们很乐意为您提供帮助!

于 2013-03-15T11:54:36.540 回答