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.
Actualización más reciente 2023-05-08 GMT+08:00

Creación o eliminación de un plugin

RDS proporciona la solución de gestión de complementos PostgreSQL para root de usuario. Excepto los siguientes plugins, es necesario crear manualmente otros plugins haciendo referencia a esta sección.

  • auto_explain
  • passwordcheck
  • pg_profile_pro
  • pg_sql_history
  • plpgsql
  • wal2json
  • test_decoding

Los plugins RDS for PostgreSQL solo tienen efecto en las bases de datos para las que creó los plugins. Para usar un plugin 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 plugins (crear extensión) o eliminar plugins (quitar extensión).

Creación de un Plugin

  1. Conéctese a la base de datos database1 como usuario root y use template1 para crear una base de datos que pueda soportar el plugin.

    # psql --host=<RDS_ADDRESS> --port=<DB_PORT> --dbname=database1 --username=root -c "create database <DB_NAME> template template1;"

    • RDS_ADDRESS indica la dirección IP de la instancia de base de datos RDS.
    • DB_PORT indica el puerto de instancia de base de datos RDS.
    • DB_NAME indica el nombre de la base de datos que se va a crear.

    Introduzca la contraseña del usuario root cuando se le solicite.

    Cree una base de datos llamada my_extension_db que admita el plugin. Ejemplo:

    # psql --host=192.168.6.141 --port=5432 --dbname=database1 --username=root -c "create database my_extension_db template template1;"

    Password for user root:
    CREATE DATABASE

    Nota: Si está creando una base de datos como usuario común, inicie sesión en la base de datos creada como usuario común y ejecute el siguiente comando para otorgar todos los derechos a root de usuario:

    GRANT ALL ON DATABASE db1 TO root;

  2. Conéctese a la base de datos creada como root de usuario y cree un plugin.

    # psql --host=<RDS_ADDRESS> --port=<DB_PORT> --dbname=<DB_NAME> --username=root -c "select control_extension('create','<EXTENSION_NAME>');"

    • RDS_ADDRESS indica la dirección IP de la instancia de base de datos RDS.
    • DB_PORT indica el puerto de instancia de base de datos RDS.
    • DB_NAME indica el nombre de la base de datos que se va a crear.
    • EXTENSION_NAME indica el nombre de plugin. Para obtener más información, consulte Plugins compatibles.

    Introduzca la contraseña del usuario root cuando se le solicite.

    Crea el plugin postgis en el my_extension_db de la base de datos. Ejemplo:

    # psql --host=192.168.6.141 --port=5432 --dbname=my_extension_db --username=root -c "select control_extension('create','postgis');"

    Password for user root: 
          control_extension       
    ------------------------------
     create postgis successfully.
    (1 row)

Eliminación de un plugin

Conéctese a la base de datos con un plugin creado como root de usuario y elimine el plugin.

# psql --host=<RDS_ADDRESS> --port=<DB_PORT> --username=root --dbname=<DB_NAME> -c "select control_extension ('drop','<EXTENSION_NAME>');"

  • RDS_ADDRESS indica la dirección IP de la instancia de base de datos RDS.
  • DB_PORT indica el puerto de instancia de base de datos RDS.
  • DB_NAME indica el nombre de la base de datos que se va a crear.
  • EXTENSION_NAME indica el nombre de plugin. Para obtener más información, consulte Plugins compatibles.

Introduzca la contraseña del usuario root cuando se le solicite.

Ejemplo:

# psql --host=192.168.6.141 --port=5432 --dbname=my_extension_db --username=root -c "select control_extension('drop','postgis');"

Password for user root: 
     control_extension      
----------------------------
 drop postgis successfully.
(1 row)