Instalación y desinstalación de un complemento mediante comandos SQL
RDS proporciona la solución de gestión de complementos de PostgreSQL para usuario root. Excepto los siguientes complementos, es necesario crear manualmente otros complementos haciendo referencia a esta sección.
- auto_explain
- passwordcheck
- pg_profile_pro
- pg_sql_history
- plpgsql
- wal2json
- test_decoding
Los complementos de RDS for PostgreSQL solo tienen efecto en las bases de datos para las que creó los complementos. Para usar un complemento en bases de datos, tiene que ser creado por separado para cada base de datos.
Las últimas versiones menores de RDS for PostgreSQL 11, 12 y 13 permiten al usuario root crear complementos (crear extensión) o eliminar complementos (quitar extensión).
Creación de un complemento
Conéctese a la base de datos donde se necesita crear un complemento como usuario root y ejecute las siguientes sentencias SQL:
select control_extension('create','<EXTENSION_NAME>', '<SCHEMA>');
- EXTENSION_NAME indica el nombre de complemento. Para obtener más información, consulte Complementos soportados.
- SCHEMA indica el nombre del esquema donde se crea el complemento. Si no se especifica este parámetro, se utiliza el esquema public de forma predeterminada.
Ejemplo:
-- Specify the public schema for creating the plugin. select control_extension('create','postgis', 'public'); control_extension ------------------------------ create postgis successfully. (1 row) -- If the schema parameter is not specified, the default schema is public. select control_extension('create', 'postgis'); control_extension ------------------------------ create postgis successfully. (1 row)
Eliminación de un complemento
Conéctese a la base de datos donde se necesita crear un complemento como usuario root y ejecute las siguientes sentencias SQL:
select control_extension('drop','<EXTENSION_NAME>', '<SCHEMA>');
- EXTENSION_NAME indica el nombre de complemento. Para obtener más información, consulte Complementos soportados.
- SCHEMA indica el nombre del esquema. Este parámetro no importa mucho cuando elimina un complemento, por lo que no es necesario especificar este parámetro.
Ejemplo:
select control_extension('drop','postgis'); control_extension ---------------------------- drop postgis successfully. (1 row)
Errores comunes
- Error 1
ERROR: permission denied for function control_extension
Solución: Utilice root para ejecutar la función control_extension.
- Error 2
ERROR: function control_extension(unknown, unknown) is not unique
Solución: Agregue el parámetro de esquema en la función. Si no se especifica el esquema, puede haber funciones con el mismo nombre, causando errores de ejecución.
- Error 3
ERROR: function control_extension(unknown, unknown) does not exist
Solución: No cree complementos en la base de datos postgres. La función control_extension no existe en la base de datos postgres porque esta base de datos se utiliza como base de datos O&M.