Configuración de Extensiones de lenguaje de confianza en su instancia de base de datos de RDS para PostgreSQL - Amazon Relational Database Service

Configuración de Extensiones de lenguaje de confianza en su instancia de base de datos de RDS para PostgreSQL

En los pasos siguientes se supone que su instancia de base de datos de RDS para PostgreSQL está asociada a un grupo de parámetros de base de datos personalizado. Puede utilizar la AWS Management Console o la AWS CLI para estos pasos.

Al configurar Extensiones de lenguaje de confianza en su instancia de base de datos de RDS para PostgreSQL, las instala en una base de datos específica para que las usen los usuarios de la base de datos que tienen permisos en esa base de datos.

Para configurar Extensiones de lenguaje de confianza

Realice los siguientes pasos con una cuenta que sea miembro del grupo (rol) rds_superuser.

  1. Inicie sesión en la AWS Management Console y abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/.

  2. En el panel de navegación, elija la instancia de base de datos de RDS for PostgreSQL.

  3. Abra la pestaña Configuration (Configuración) para su Instancia de base de datos RDS para PostgreSQL. Entre los detalles de la instancia, busque el enlace del grupo de parámetros.

  4. Elija el enlace para abrir los parámetros personalizados asociados al Instancia de base de datos RDS para PostgreSQL.

  5. En el campo de búsqueda Parametes (Parámetros), escriba shared_pre para buscar el parámetro shared_preload_libraries.

  6. Seleccione Edit parameters (Editar parámetros) para acceder a los valores de las propiedades.

  7. Añada pg_tle a la lista en el campo Values (Valores). Utilice una coma para separar los elementos de la lista de valores.

    Imagen del parámetro shared_preload_libraries con pg_tle añadido.
  8. Reinicie la instancia de base de datos de RDS for PostgreSQL para que surta efecto el cambio en el parámetro shared_preload_libraries.

  9. Cuando la instancia esté disponible, verifique si se ha inicializado pg_tle. Use psql para conectarse a la instancia de base de datos de RDS for PostgreSQL y, a continuación, ejecute el siguiente comando.

    SHOW shared_preload_libraries; shared_preload_libraries -------------------------- rdsutils,pg_tle (1 row)
  10. Con la extensión pg_tle inicializada, ahora ya puede crear la extensión.

    CREATE EXTENSION pg_tle;

    Para comprobar que la extensión esté instalada, use el metacomando psql.

    labdb=> \dx List of installed extensions Name | Version | Schema | Description ---------+---------+------------+-------------------------------------------- pg_tle | 1.0.1 | pgtle | Trusted-Language Extensions for PostgreSQL plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language
  11. Asigne el rol pgtle_admin al nombre de usuario principal que creó para la instancia de base de datos de RDS para PostgreSQL al configurarla. Si ha aceptado el valor predeterminado, es postgres.

    labdb=> GRANT pgtle_admin TO postgres; GRANT ROLE

    Puede comprobar si se ha realizado la concesión con el metacomando psql, tal como se muestra en el siguiente ejemplo. Solo los roles pgtle_admin y postgres se muestran en el resultado. Para obtener más información, consulte Descripción del rol rds_superuser.

    labdb=> \du List of roles Role name | Attributes | Member of -----------------+---------------------------------+----------------------------------- pgtle_admin | Cannot login | {} postgres | Create role, Create DB +| {rds_superuser,pgtle_admin} | Password valid until infinity |...
  12. Cierre la sesión de psql con el metacomando \q.

    \q

Para empezar a crear extensiones TLE, consulte Ejemplo: creación de una extensión de lenguaje de confianza mediante SQL.

Puede evitar especificar el argumento --region al utilizar los comandos de la CLI al configurar su AWS CLI con su Región de AWS predeterminada. Para obtener más información, consulte Fundamentos de configuración en la Guía del usuario de AWS Command Line Interface.

Para configurar Extensiones de lenguaje de confianza
  1. Use el comando modify-db-cluster-parameter-group de AWS CLI para añadir pg_tle al parámetro shared_preload_libraries.

    aws rds modify-db-parameter-group \ --db-parameter-group-name custom-param-group-name \ --parameters "ParameterName=shared_preload_libraries,ParameterValue=pg_tle,ApplyMethod=pending-reboot" \ --region aws-region
  2. Use el comando reboot-db-instance de AWS CLI para reiniciar la instancia de base de datos de RDS para PostgreSQL e inicialice la biblioteca de pg_tle.

    aws rds reboot-db-instance \ --db-instance-identifier your-instance \ --region aws-region
  3. Cuando la instancia esté disponible, puede verificar si pg_tle se ha inicializado. Use psql para conectarse a la instancia de base de datos de RDS for PostgreSQL y, a continuación, ejecute el siguiente comando.

    SHOW shared_preload_libraries; shared_preload_libraries -------------------------- rdsutils,pg_tle (1 row)

    Con pg_tle inicializado, ahora ya puede crear la extensión.

    CREATE EXTENSION pg_tle;
  4. Asigne el rol pgtle_admin al nombre de usuario principal que creó para la instancia de base de datos de RDS para PostgreSQL al configurarla. Si ha aceptado el valor predeterminado, es postgres.

    GRANT pgtle_admin TO postgres; GRANT ROLE
  5. Cierre la sesión de psql de la siguiente manera.

    labdb=> \q

Para empezar a crear extensiones TLE, consulte Ejemplo: creación de una extensión de lenguaje de confianza mediante SQL.