成为数据库超级用户 - 工程师

时间:2013-03-13 23:51:35

标签: postgresql engineyard

我正在尝试为我的某个应用程序添加数据库扩展,特别是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执行命令?我发现的一切都非常无益。感谢任何帮助。

1 个答案:

答案 0 :(得分:5)

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

在Engine Yard上,您的应用程序的数据库用户帐户不是超级用户。但您确实可以访问超级用户帐户 - 只需使用“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

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

相关问题