我试图在AWS RDS Postgres实例中为特定用户启用一些Postgres扩展。
1) 我尝试过使用rails迁移进行部署,但没有成功。
class InstallPgTrgmContribPackage < ActiveRecord::Migration[5.1]
def change
enable_extension "fuzzystrmatch"
enable_extension "pg_trgm"
enable_extension "unaccent"
# execute "CREATE EXTENSION IF NOT EXISTS fuzzystrmatch;"
# execute "CREATE EXTENSION IF NOT EXISTS pg_trgm;"
# execute "CREATE EXTENSION IF NOT EXISTS unaccent;"
end
end
2) 此外,还尝试通过ssh将其导入postgres并从那里创建它。
psql -h blabla.us-east-1.rds.amazonaws.com -p 5432 -U prod -d prod
prod=> CREATE EXTENSION IF NOT EXISTS fuzzystrmatch;
returns: ERROR: permission denied to create extension "fuzzystrmatch"
HINT: Must be superuser to create this extension.
默认情况下,RDS实例角色是test,我可以创建
测试用户中的扩展。我正在尝试在prod和dev用户中安装。
通过Elastic Beanstalk部署的rails应用程序。
问题:
如何将超级用户权限添加到新用户角色中?