Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Centro de ayuda/ Relational Database Service/ Guía del usuario/ Trabajar con RDS for PostgreSQL/ Gestión de plugin/ Instalación y desinstalación de un complemento mediante comandos SQL
Actualización más reciente 2024-06-06 GMT+08:00

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:

Crear postgis en el esquema público.
-- 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.