Impostazione di Trusted Language Extensions nell'istanza database RDS per PostgreSQL - Amazon Relational Database Service

Impostazione di Trusted Language Extensions nell'istanza database RDS per PostgreSQL

I passaggi seguenti si basano sull'ipotesi che l'istanza database RDS per PostgreSQL sia associata a un gruppo di parametri personalizzato del database. Puoi usare la AWS Management Console o la AWS CLI per questi passaggi.

Quando imposti Trusted Language Extensions nell'istanza database RDS per PostgreSQL, lo installi in un database specifico che deve essere utilizzato dagli utenti del database che dispongono delle relative autorizzazioni.

Per impostare Trusted Language Extensions

Esegui i seguenti passaggi utilizzando un account membro del gruppo rds_superuser (ruolo).

  1. Accedi alla AWS Management Console e apri la console Amazon RDS all'indirizzo https://console.aws.amazon.com/rds/.

  2. Nel riquadro di navigazione, scegli l' istanza database RDS per PostgreSQL.

  3. Apri la scheda Configurazione per l' l'istanza database RDS per PostgreSQL. Tra i dettagli dell'istanza, individua il collegamento Parameter group (Gruppo di parametri).

  4. Scegli il collegamento per aprire i parametri personalizzati associati l'istanza database RDS per PostgreSQL.

  5. Nel campo di ricerca Parametri, digita shared_pre per trovare il parametro shared_preload_libraries.

  6. Scegli Edit parameters (Modifica parametri) per accedere ai valori delle proprietà.

  7. Aggiungi pg_tle all'elenco nel campo Values (Valori). Utilizza una virgola per separare gli elementi nell'elenco di valori.

    Immagine del parametro shared_preload_libraries con pg_tle aggiunto.
  8. Riavvia l'istanza database RDS per PostgreSQL in modo che la modifica al parametro shared_preload_libraries diventi effettiva.

  9. Quando l'istanza è disponibile, verifica che pg_tle sia stato inizializzato. Utilizza psql per connetterti all'istanza database RDS per PostgreSQL, quindi esegui il comando seguente.

    SHOW shared_preload_libraries; shared_preload_libraries -------------------------- rdsutils,pg_tle (1 row)
  10. Con pg_tle inizializzato, puoi ora creare l'estensione.

    CREATE EXTENSION pg_tle;

    Per verificare che l'estensione sia installata, puoi usare il seguente 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. Assegna il ruolo pgtle_admin al nome utente principale che hai creato per l'istanza database RDS per PostgreSQL al momento dell'impostazione. Se hai accettato l'impostazione predefinita, il valore è postgres.

    labdb=> GRANT pgtle_admin TO postgres; GRANT ROLE

    Per verificare se la concessione è avvenuta, utilizza il metacomando psql come illustrato nell'esempio seguente. Nell'output vengono visualizzati solo i ruoli pgtle_admin e postgres. Per ulteriori informazioni, consulta Comprendere il ruolo 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. Chiudi la sessione psql usando il metacomando \q.

    \q

Per iniziare a creare le estensioni TLE, consulta Esempio: creazione di un'estensione Trusted Language Extensions utilizzando SQL.

Puoi evitare di specificare l'argomento --region quando usi i comandi CLI configurando AWS CLI con la Regione AWS predefinita. Per ulteriori informazioni, consulta Nozioni di base sulla configurazione nella Guida per l'utente di AWS Command Line Interface.

Per impostare Trusted Language Extensions
  1. Usa il comando AWS CLI modify-db-parameter-group per aggiungere pg_tle al parametro 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. Usa il comando AWS CLI reboot-db-instance per riavviare l'istanza database RDS per PostgreSQL e inizializzare la libreria pg_tle.

    aws rds reboot-db-instance \ --db-instance-identifier your-instance \ --region aws-region
  3. Quando l'istanza è disponibile, verifica che pg_tle sia stato inizializzato. Utilizza psql per connetterti all'istanza database RDS per PostgreSQL, quindi esegui il comando seguente.

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

    Con pg_tle inizializzato, puoi ora creare l'estensione.

    CREATE EXTENSION pg_tle;
  4. Assegna il ruolo pgtle_admin al nome utente principale che hai creato per l'istanza database RDS per PostgreSQL al momento dell'impostazione. Se hai accettato l'impostazione predefinita, il valore è postgres.

    GRANT pgtle_admin TO postgres; GRANT ROLE
  5. Chiudi la sessione psql come indicato di seguito.

    labdb=> \q

Per iniziare a creare le estensioni TLE, consulta Esempio: creazione di un'estensione Trusted Language Extensions utilizzando SQL.