我正在尝试将一个数据库扩展添加到我的一个应用程序中,特别是fuzzystrmatch扩展。每当我尝试添加它时,我都会得到以下错误
-- 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执行该命令?我所发现的一切都是非常无用的。感谢您的帮助。
发布于 2013-03-15 19:54:37
免责声明:我是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-Customize-Your-Environment-with-Chef-Recipes
如果你在这方面遇到任何麻烦,请开票,我们很乐意为你提供帮助!
https://stackoverflow.com/questions/15398714
复制相似问题