
# 通过界面安装和卸载插件
#### 操作场景
RDS支持用户在界面自主安装与卸载插件。
RDS for PostgreSQL插件是数据库级生效，并不是全局生效。因此创建插件时需要在对应的业务库上进行手动创建。
#### 前提条件
安装和卸载插件前，请确保实例下已有数据库。登录并管理实例，请参见[通过DAS登录RDS for PostgreSQL实例并创建数据库（推荐）](https://support.huaweicloud.com/usermanual-rds-pg/rds_pg_connect_02.html)。
#### 注意事项
- plpgsql为内置插件，不允许卸载。
- decoderbufs（仅在PostgreSQL 11至PostgreSQL 14版本支持），wal2json（PostgreSQL 11及以上版本支持）等逻辑复制插件可以直接使用，不需要安装。
- 部分插件依赖"shared_preload_libraries"参数，只有在加载相关库之后，才能安装成功。
- pg_cron插件当前仅支持PostgreSQL 12（12.11.0及其以上版本）、PostgreSQL 13及以上版本。使用时需要先修改参数"cron.database_name"为需要使用的数据库（仅支持单个数据库），同时修改"cron.use_background_workers"为"on"。
- pltcl插件在PostgreSQL 13.2版本实例暂不支持使用，如需使用该插件，请先升级到最新小版本。
- 部分插件安装或卸载时，会同步安装或卸载其依赖插件，以及相关依赖表。
- 部分插件在小版本升级后不支持直接升级，如需升级请卸载后重新安装。
 
 #### 修改shared_preload_libraries参数
部分插件在安装前，须先加载对应的参数值，否则无法安装。
支持通过修改shared_preload_libraries参数来批量加载参数值，或在安装插件前单独加载对应参数值。
1. [登录RDS管理控制台](https://console.huaweicloud.com/rds/#/rds/management/list)。
2. 单击管理控制台左上角的![](https://support.huaweicloud.com/usermanual-rds-pg/zh-cn_image_0000002606863935.png)，选择区域。
3. 在实例列表，单击实例名称，进入实例的"概览"页面。
4. 在左侧导航栏，选择"插件管理"。
5. 在"插件管理"页面，单击"已加载shared_preload_libraries参数值"后的![](https://support.huaweicloud.com/usermanual-rds-pg/zh-cn_image_0000002213821100.png)，查看已加载参数。
6. 单击"管理参数值"。 
   图1查看已加载参数   
   ![](https://support.huaweicloud.com/usermanual-rds-pg/zh-cn_image_0000002213661304.png "点击放大")
   
   
   
7. 在下拉框中选择要加载的参数，单击"确认"。 
   图2选择加载参数   
   ![](https://support.huaweicloud.com/usermanual-rds-pg/zh-cn_image_0000002213661292.png "点击放大")
   
   
   
8. 在弹出框中，单击"是"，修改shared_preload_libraries参数值。 
   ![](https://support.huaweicloud.com/usermanual-rds-pg/public_sys-resources/note_3.0-zh-cn.png)
   - shared_preload_libraries参数值修改后，需要重启实例才能生效。如果包含只读实例，修改主实例参数后，会同步修改只读实例的参数，需要同时重启只读实例。
   
   - 为了保证PostgreSQL的安全及运维功能的完善，shared_preload_libraries参数中，如下参数默认加载，不允许删除：
     - passwordcheck.so
     
     - pg_stat_statements
     
     - pg_sql_history
     
     - pgaudit
      
    
   
   
9. 您也可以在安装插件前单独加载对应参数值。 
   图3加载参数值   
   ![](https://support.huaweicloud.com/usermanual-rds-pg/zh-cn_image_0000002248781121.png "点击放大")
   
   
 
#### 安装和卸载插件
1. [登录RDS管理控制台](https://console.huaweicloud.com/rds/#/rds/management/list)。
2. 单击管理控制台左上角的![](https://support.huaweicloud.com/usermanual-rds-pg/zh-cn_image_0000002606863935.png)，选择区域。
3. 在实例列表，单击实例名称，进入实例的"概览"页面。
4. 在左侧导航栏，选择"插件管理"。
5. 在插件列表上方的"数据库"下拉框，选择需要安装插件的数据库。
6. 在插件上单击"安装"，开始安装插件。 
   图4安装插件   
   ![](https://support.huaweicloud.com/usermanual-rds-pg/zh-cn_image_0000002248941033.png "点击放大")
   
   
7. 如需卸载插件，单击"卸载"。 
   图5卸载插件   
   ![](https://support.huaweicloud.com/usermanual-rds-pg/zh-cn_image_0000002213661288.png "点击放大")
   
   
 
#### 更新插件
在执行[内核小版本升级](https://support.huaweicloud.com/usermanual-rds-pg/rds_pg_05_0003.html)后，部分插件的版本也进行了升级，需要在插件管理页面，在对应的插件后单击"更新"，完成插件版本更新。
图6更新插件   
![](https://support.huaweicloud.com/usermanual-rds-pg/zh-cn_image_0000002298043189.png "点击放大")
#### 常见问题
#### 为什么将插件常用配置表的查询权限赋予指定用户后出现报错？
- 问题描述：通过界面安装插件后，将插件常用配置表（如pg_partman插件的配置表part_config）的查询权限赋予指定用户，可能会遇到以下报错：no privileges were granted for "part_config"
  图7执行授权   
  ![](https://support.huaweicloud.com/usermanual-rds-pg/zh-cn_image_0000002631605194.png "点击放大") 
- 解决方法：这是由于通过界面安装插件后，插件相关配置表Owner不是root。建议通过界面卸载插件后，在root用户下[通过SQL命令重新安装插件](https://support.huaweicloud.com/usermanual-rds-pg/rds_09_0043.html)，再在root用户下重新执行授权。
 
