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
.
Inicie sesión en la AWS Management Console y abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/
. -
En el panel de navegación, elija la instancia de base de datos de RDS for PostgreSQL.
-
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.
-
Elija el enlace para abrir los parámetros personalizados asociados al Instancia de base de datos RDS para PostgreSQL.
-
En el campo de búsqueda Parametes (Parámetros), escriba
shared_pre
para buscar el parámetroshared_preload_libraries
. -
Seleccione Edit parameters (Editar parámetros) para acceder a los valores de las propiedades.
-
Añada
pg_tle
a la lista en el campo Values (Valores). Utilice una coma para separar los elementos de la lista de valores. Reinicie la instancia de base de datos de RDS for PostgreSQL para que surta efecto el cambio en el parámetro
shared_preload_libraries
.Cuando la instancia esté disponible, verifique si se ha inicializado
pg_tle
. Usepsql
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 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
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, espostgres
.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 rolespgtle_admin
ypostgres
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 |...
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
Use el comando modify-db-cluster-parameter-group de AWS CLI para añadir
pg_tle
al parámetroshared_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" \ --regionaws-region
-
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
\ --regionaws-region
Cuando la instancia esté disponible, puede verificar si
pg_tle
se ha inicializado. Usepsql
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;
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, espostgres
.GRANT pgtle_admin TO postgres;
GRANT ROLE
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.