

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Versioni con estensione PostgreSQL supportate
<a name="PostgreSQL.Concepts.General.FeatureSupport.Extensions"></a>

RDS per PostgreSQL supporta numerose estensioni PostgreSQL. La community PostgreSQL a volte si riferisce a questi come moduli. Le estensioni espandono la funzionalità fornita dal motore PostgreSQL. Trovi l'elenco delle estensioni supportate da Amazon RDS nel gruppo di parametri database predefinito per quella versione di PostgreSQL. Puoi inoltre vedere l'elenco delle estensioni correnti che utilizzano `psql` mostrando il parametro `rds.extensions` come nel seguente esempio.

```
SHOW rds.extensions; 
```

**Nota**  
I parametri aggiunti in una versione minore possono essere visualizzati in modo non corretto quando si utilizza il parametro `rds.extensions` in `psql`. 

A partire da RDS per PostgreSQL 13, alcune estensioni possono essere installate da utenti del database diversi da `rds_superuser`. Tali estensioni sono da considerare *estensioni attendibili*. Per ulteriori informazioni, consulta [Estensioni attendibili di PostgreSQL](#PostgreSQL.Concepts.General.Extensions.Trusted). 

Alcune versioni di RDS per PostgreSQL supportano il parametro `rds.allowed_extensions`. Questo parametro consente a un utente `rds_superuser` di limitare le estensioni installabili nell'istanza database RDS per PostgreSQL. Per ulteriori informazioni, consulta [Limitazione dell'installazione delle estensioni PostgreSQL](#PostgreSQL.Concepts.General.FeatureSupport.Extensions.Restriction). 

Per un elenco delle estensioni e versioni di PostgreSQL supportate da ogni versione disponibile di RDS per PostgreSQL, consulta [Estensioni PostgreSQL supportate su Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/PostgreSQLReleaseNotes/postgresql-extensions.html) nelle *Note di rilascio di Amazon RDS per PostgreSQL*. 

## Limitazione dell'installazione delle estensioni PostgreSQL
<a name="PostgreSQL.Concepts.General.FeatureSupport.Extensions.Restriction"></a>

È possibile limitare quali estensioni possono essere installate su un'istanza database PostgreSQL. Per impostazione predefinita, questo parametro non è impostato e pertanto è possibile aggiungere qualsiasi estensione supportata se l'utente dispone delle autorizzazioni corrispondenti. A tale scopo, impostare il parametro `rds.allowed_extensions` su una stringa di nomi di estensione separati da virgole. L'aggiunta di un elenco di estensioni a questo parametro consente di identificare esplicitamente le estensioni che l'istanza database RDS per PostgreSQL può utilizzare. Solo queste estensioni possono quindi essere installate nell'istanza database di PostgreSQL.

La stringa predefinita per il parametro `rds.allowed_extensions` è '\$1', il che significa che qualsiasi estensione disponibile per la versione del motore può essere installata. La modifica del parametro `rds.allowed_extensions` non richiede il riavvio del database perché si tratta di un parametro dinamico.

Il motore di istanze database PostgreSQL deve essere una delle seguenti versioni per poter utilizzare il parametro `rds.allowed_extensions`:
+ Tutte le versioni di PostgreSQL 16
+ PostgreSQL 15 e tutte le versioni successive
+ Aurora PostgreSQL 14 e tutte le versioni successive
+ PostgreSQL 13.3 e versioni secondarie successive
+ PostgreSQL 12.7 e versioni secondarie successive

 Per vedere quali installazioni di estensione sono consentite, utilizzare il seguente comando psql.

```
postgres=> SHOW rds.allowed_extensions;
 rds.allowed_extensions
------------------------
 *
```

Se un'estensione è stata installata prima di essere lasciata fuori dall'elenco nel `rds.allowed_extensions` parametro, l'estensione può comunque essere utilizzata normalmente e comandi come `ALTER EXTENSION` e `DROP EXTENSION` continueranno a funzionare. Tuttavia, dopo che un'estensione è stata limitata, i comandi `CREATE EXTENSION` per l'estensione con restrizioni avranno esito negativo.

Anche l'installazione di dipendenze di estensione con `CREATE EXTENSION CASCADE` sono limitate. L'estensione e le relative dipendenze devono essere specificate in `rds.allowed_extensions`. Se un'installazione delle dipendenze di estensione non riesce, l'intera istruzione `CREATE EXTENSION CASCADE` avrà esito negativo. 

Se un'estensione non è inclusa nel `rds.allowed_extensions` parametro, verrà visualizzato un errore come il seguente se si tenta di installarla.

```
ERROR: permission denied to create extension "extension-name" 
HINT: This extension is not specified in "rds.allowed_extensions".
```

## Estensioni attendibili di PostgreSQL
<a name="PostgreSQL.Concepts.General.Extensions.Trusted"></a>

L'installazione della maggior parte delle estensioni PostgreSQL richiede privilegi `rds_superuser`. PostgreSQL 13 ha introdotto le estensioni attendibili, che riducono la necessità di concedere privilegi `rds_superuser` agli utenti regolari. Con questa funzione, gli utenti possono installare molte estensioni se dispongono del privilegio `CREATE` sul database corrente invece di richiedere il ruolo `rds_superuser`. Per ulteriori informazioni, consulta il comando [CREATE EXTENSION](https://www.postgresql.org/docs/current/sql-createextension.html) SQL nella documentazione di PostgreSQL. 

Di seguito sono elencate le estensioni che possono essere installate da un utente che dispone del privilegio `CREATE` sul database corrente e non richiedono il ruolo `rds_superuser`:
+ bool\$1plperl
+ [btree\$1gin](http://www.postgresql.org/docs/current/btree-gin.html)
+ [btree\$1gist](http://www.postgresql.org/docs/current/btree-gist.html)
+ [citext ](http://www.postgresql.org/docs/current/citext.html)
+ [cube ](http://www.postgresql.org/docs/current/cube.html)
+ [ dict\$1int ](http://www.postgresql.org/docs/current/dict-int.html)
+ [fuzzystrmatch](http://www.postgresql.org/docs/current/fuzzystrmatch.html)
+  [hstore](http://www.postgresql.org/docs/current/hstore.html)
+ [ intarray](http://www.postgresql.org/docs/current/intarray.html)
+ [isn ](http://www.postgresql.org/docs/current/isn.html)
+ jsonb\$1plperl
+ [ltree ](http://www.postgresql.org/docs/current/ltree.html)
+ [pg\$1trgm](http://www.postgresql.org/docs/current/pgtrgm.html)
+ [pgcrypto](http://www.postgresql.org/docs/current/pgcrypto.html)
+ [ plperl](https://www.postgresql.org/docs/current/plperl.html)
+ [ plpgsql](https://www.postgresql.org/docs/current/plpgsql.html)
+ [ pltcl](https://www.postgresql.org/docs/current/pltcl-overview.html)
+ [tablefunc](http://www.postgresql.org/docs/current/tablefunc.html) 
+ [ tsm\$1system\$1rows](https://www.postgresql.org/docs/current/tsm-system-rows.html)
+ [ tsm\$1system\$1time](https://www.postgresql.org/docs/current/tsm-system-time.html)
+ [unaccent ](http://www.postgresql.org/docs/current/unaccent.html)
+ [uuid-ossp](http://www.postgresql.org/docs/current/uuid-ossp.html)

Per un elenco delle estensioni e versioni di PostgreSQL supportate da ogni versione disponibile di RDS per PostgreSQL, consulta [PostgreSQL extensions supported on Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/PostgreSQLReleaseNotes/postgresql-extensions.html) nelle *Note di rilascio di Amazon RDS per PostgreSQL*. 