RDS 上的 PPAS由于没有对外开放超级用户,如何然用户只有添加和删除外部插件成为一个问题
我们提供了下面的方案
1 我们在模板库 template1 上创建了一个插件管理函数 rds_manage_extension
它是由超级用户创建的,具备创建和删除插件的足够权限.
2 用户创建自己的数据库时需要使用模板库 template1
例: create database mydb template template1;
这样自己的DB中就存在插件管理函数
3 我们用RDS根用户登录自己的DB,使用这个插件,可以创建和删除外部插件
例:
创建插件 select rds_manage_extension('create','dblink');
删除插件 select rds_manage_extension('drop','dblink');
目前支持管理的插件有:
pg_stat_statements
btree_gin
btree_gist
chkpass
citext
cube
dblink
dict_int
earthdistance
hstore
intagg
intarray
isn
ltree
pgcrypto
pgrowlocks
pg_prewarm
pg_trgm
postgres_fdw
sslinfo
tablefunc
tsearch2
unaccent
postgis
postgis_topology
fuzzystrmatch
postgis_tiger_geocoder
plperl
pltcl
plv8
"uuid-ossp"
plpgsql