

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à.

# Connessione a un'istanza database che esegua il motore di database di PostgreSQL
<a name="USER_ConnectToPostgreSQLInstance"></a>

Dopo che Amazon RDS effettua il provisioning dell'istanza database, è possibile utilizzare qualsiasi applicazione client SQL standard per la connessione all'istanza. Prima di poterti connettere, l’istanza database deve essere disponibile e accessibile. Se è possibile o meno connettersi all'istanza dall'esterno del VPC dipende da come hai creato l'istanza database Amazon RDS: 
+ Se hai creato la tua istanza database come *pubblica*, i dispositivi e le istanze Amazon EC2 al di fuori del VPC possono connettersi al database. 
+ Se hai creato la tua istanza database come *privata*, solo i dispositivi e le istanze Amazon EC2 all’interno di Amazon VPC possono connettersi al database. 

Per verificare se la tua istanza DB è pubblica o privata, usa Console di gestione AWS per visualizzare la scheda **Connettività e sicurezza** per la tua istanza. Sotto **Security** (Sicurezza), puoi trovare il valore "Accessibile pubblicamente", con No per privato, Sì per pubblico. 

Per ulteriori informazioni sulle diverse configurazioni Amazon RDS e Amazon VPC e su come influiscono sull'accessibilità, consultare [Scenari per accedere a un'istanza database in un VPC](USER_VPC.Scenarios.md). 

**Contents**
+ [

## Installazione del client psql
](#install-psql)
+ [

## Ricerca delle informazioni di connessione per un’istanza database RDS per PostgreSQL
](#postgresql-endpoint)
+ [

# Utilizzo di pgAdmin per connettersi a un'istanza database RDS for PostgreSQL
](USER_ConnectToPostgreSQLInstance.pgAdmin.md)
+ [

# Utilizzo di psql per connettersi a un'istanza database RDS per PostgreSQL
](USER_ConnectToPostgreSQLInstance.psql.md)
+ [

# Connessione a RDS per PostgreSQL con il driver JDBC per Amazon Web Services (AWS)
](PostgreSQL.Connecting.JDBCDriver.md)
+ [

# Connessione a RDS per PostgreSQL con il driver Python per Amazon Web Services (AWS)
](PostgreSQL.Connecting.PythonDriver.md)
+ [

# Risoluzione dei problemi relativi alle connessioni all'istanza RDS per PostgreSQL
](USER_ConnectToPostgreSQLInstance.Troubleshooting.md)
  + [

## Errore – IRREVERSIBILE: il database *name* non esiste
](USER_ConnectToPostgreSQLInstance.Troubleshooting.md#USER_ConnectToPostgreSQLInstance.Troubleshooting-DBname)
  + [

## Errore – Impossibile connettersi al server: timeout della connessione
](USER_ConnectToPostgreSQLInstance.Troubleshooting.md#USER_ConnectToPostgreSQLInstance.Troubleshooting-timeout)
  + [

## Errori con regole di accesso ai gruppi di sicurezza
](USER_ConnectToPostgreSQLInstance.Troubleshooting.md#USER_ConnectToPostgreSQLInstance.Troubleshooting-AccessRules)

## Installazione del client psql
<a name="install-psql"></a>

Per connetterti alla tua istanza DB da un'istanza EC2, puoi installare un client PostgreSQL sull'istanza EC2. Per installare la versione più recente del client psql su Amazon Linux 2023, esegui il seguente comando: 

```
sudo dnf install postgresql<version number>
```

Per installare la versione più recente del client psql su Amazon Linux 2, esegui il seguente comando:

```
sudo yum install -y postgresql
```

Per installare la versione più recente del client psql su Ubuntu, esegui il seguente comando:

```
sudo apt install -y postgresql-client
```

## Ricerca delle informazioni di connessione per un’istanza database RDS per PostgreSQL
<a name="postgresql-endpoint"></a>

Se l'istanza database è disponibile e accessibile, è possibile connettersi fornendo le seguenti informazioni all'applicazione client SQL: 
+ L'endpoint dell'istanza database, che funge da nome host (nome DNS) per l'istanza.
+ Porta di ascolto dell'istanza database. La porta predefinita per PostgreSQL è la 5432. 
+ Nome utente e password per l'istanza database. Il «nome utente principale» predefinito per PostgreSQL è `postgres`. 
+ Il nome e la password del database (nome DB). 

 Puoi ottenere questi dettagli utilizzando il AWS CLI [describe-db-instances](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html)comando Console di gestione AWS, o l'DBInstancesoperazione Amazon RDS API [Descrivi](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBInstances.html). 

**Per trovare l'endpoint, il numero di porta e il nome del DB, utilizza il Console di gestione AWS**

1. Accedi a Console di gestione AWS e apri la console Amazon RDS all'indirizzo [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Aprire la console RDS e scegliere **Databases (Database)** per visualizzare un elenco delle istanze database. 

1. Scegliere il nome dell'istanza database PostgreSQL per visualizzarne i dettagli. 

1. Nella scheda **Connectivity & security (Connettività e sicurezza)**, copiare l'endpoint. Annotare anche il numero di porta. L'endpoint e il numero di porta sono necessari per la connessione all'istanza database.   
![\[Ottenere l'endpoint dalla console RDS\]](http://docs.aws.amazon.com/it_it/AmazonRDS/latest/UserGuide/images/PostgreSQL-endpoint.png)

1. Nella scheda **Configuration (Configurazione)**, annotare il nome del database. Se hai creato un database quando hai creato l'istanza RDS for PostgreSQL, viene visualizzato il nome elencato sotto nome DB. Se non è stato creato un database, il nome DB visualizza un trattino (‐).  
![\[Ottenere il nome DB dalla console RDS\]](http://docs.aws.amazon.com/it_it/AmazonRDS/latest/UserGuide/images/PostgreSQL-db-name.png)

Di seguito vengono indicati due modi per connettersi a un'istanza database PostgreSQL. Il primo esempio utilizza pgAdmin, un popolare strumento di amministrazione e sviluppo open source per PostgreSQL. Il secondo esempio utilizza psql, una utility a riga di comando che fa parte di un'installazione di PostgreSQL. 

# Utilizzo di pgAdmin per connettersi a un'istanza database RDS for PostgreSQL
<a name="USER_ConnectToPostgreSQLInstance.pgAdmin"></a>

È possibile utilizzare lo strumento open source pgAdmin per connettersi a un'istanza database RDS for PostgreSQL. È possibile scaricare e utilizzare pgAdmin da [http://www.pgadmin.org/](http://www.pgadmin.org/) senza disporre di un'istanza locale di PostgreSQL sul computer client.

**Per connettere l'istanza database RDS per PostgreSQL utilizzando pgAdmin**

1. Avviare l'applicazione pgAdmin sul computer client. 

1. Nella scheda **Dashboard (Pannello di controllo)** selezionare **Add New Server (Aggiungi nuovo server)**.

1. Nella finestra di dialogo **Create - Server (Crea - Server)** digitare un nome nella scheda **General (Generale)** per identificare il server in pgAdmin.

1. Nella scheda **Connection (Connessione)** digitare le informazioni seguenti relative all'istanza database:
   + In **Host**, digitare l'endpoint, ad esempio `mypostgresql.c6c8dntfzzhgv0.us-east-2.rds.amazonaws.com`.
   + In **Port (Porta)** digitare la porta assegnata. 
   + Per **Username (Nome utente)**, digitare il nome utente immesso quando è stata creata l'istanza database (se è stato modificato il «nome utente master» dal valore predefinito,`postgres`). 
   + In **Password**, digitare la password immessa quando è stata creata l'istanza database.  
![\[Digitare la password immessa quando è stata creata l’istanza database.\]](http://docs.aws.amazon.com/it_it/AmazonRDS/latest/UserGuide/images/Postgres-Connect01.png)

1. Scegli **Save** (Salva). 

   In caso di problemi con la connessione, consulta [Risoluzione dei problemi relativi alle connessioni all'istanza RDS per PostgreSQL](USER_ConnectToPostgreSQLInstance.Troubleshooting.md). 

1. Per accedere a un database nel browser pgAdmin, espandere **Servers (Server)**, l'istanza database e **Databases (Database)**. Scegliere il nome del database dell'istanza database.  
![\[Scegliere il nome del database dell’istanza database nel browser pgAdmin.\]](http://docs.aws.amazon.com/it_it/AmazonRDS/latest/UserGuide/images/Postgres-Connect02.png)

1. Per aprire un pannello dove immettere i comandi SQL, scegliere **Tools (Strumenti)**, **Query Tool (Strumento di query)**. 

# Utilizzo di psql per connettersi a un'istanza database RDS per PostgreSQL
<a name="USER_ConnectToPostgreSQLInstance.psql"></a>

È possibile utilizzare un'istanza locale dell'utility a riga di comando psql per connettersi a un'istanza database RDS per PostgreSQL. È necessario che PostgreSQL o il client psql sia installato sul computer client. 

Puoi scaricare il client PostgreSQL dal sito web di [PostgreSQL](https://www.postgresql.org/download/). Per installare psql, segui le istruzioni relative al tuo sistema operativo.

Per eseguire la connessione all'istanza database RDS for PostgreSQL utilizzando psql, devi fornire le informazioni host (DNS), le credenziali di accesso e il nomde del database.

Utilizza uno dei seguenti formati per eseguire la connessione a un'istanza database RDS for PostgreSQL. Quando si esegue la connessione, verrà richiesta una password. Per gli script o i processi batch, utilizzare l'opzione `--no-password`. Questa opzione è impostata per l'intera sessione.

**Nota**  
Un tentativo di connessione con `--no-password` non riesce quando il server richiede l'autenticazione con password e una password non è disponibile da altre origini. Per ulteriori informazioni, consulta la [documentazione di psql](https://www.postgresql.org/docs/13/app-psql.html).

Se è la prima volta che ti stai connettendo a questa istanza database o se non hai ancora creato un database per questa istanza RDS for PostgreSQL, puoi connetterti al database **postgres** utilizzando il «nome utente master» e la password.

Per Unix, utilizzare il seguente formato:

```
psql \
   --host=<DB instance endpoint> \
   --port=<port> \
   --username=<master username> \
   --password \
   --dbname=<database name>
```

Per Windows, utilizzare il seguente formato:

```
psql ^
   --host=<DB instance endpoint> ^
   --port=<port> ^
   --username=<master username> ^
   --password ^
   --dbname=<database name>
```

Il comando seguente esegue ad esempio la connessione a un database denominato `mypgdb` su un'istanza database PostgreSQL denominata `mypostgresql` tramite credenziali fittizie. 

```
psql --host=mypostgresql.c6c8mwvfdgv0.us-west-2.rds.amazonaws.com --port=5432 --username=awsuser --password --dbname=mypgdb 
```

# Connessione a RDS per PostgreSQL con il driver JDBC per Amazon Web Services (AWS)
<a name="PostgreSQL.Connecting.JDBCDriver"></a>

Il driver JDBC per Amazon Web Services (AWS) è progettato come wrapper JDBC avanzato. Tale wrapper è complementare a un driver JDBC esistente e ne estende le funzionalità. Il driver è immediatamente compatibile con il driver pgJDBC della versione Community.

Per installare il driver AWS JDBC, aggiungi il file.jar del driver AWS JDBC (che si trova nell'applicazione) e mantieni i riferimenti al rispettivo driver della community. `CLASSPATH` Aggiorna il rispettivo prefisso dell’URL di connessione nel modo seguente:
+ `jdbc:postgresql://` Da a `jdbc:aws-wrapper:postgresql://`

Per ulteriori informazioni sul driver AWS JDBC e istruzioni complete per il suo utilizzo, consulta l'archivio dei driver [JDBC di Amazon Web Services (AWS)](https://github.com/awslabs/aws-advanced-jdbc-wrapper). GitHub 

# Connessione a RDS per PostgreSQL con il driver Python per Amazon Web Services (AWS)
<a name="PostgreSQL.Connecting.PythonDriver"></a>

Amazon Web Services (AWS) Python Driver è progettato come wrapper Python avanzato. Tale wrapper è complementare al driver open source Psycopg e ne estende le funzionalità. Il driver Python per AWS supporta Python 3.8 e versioni successive. È possibile installare il pacchetto `aws-advanced-python-wrapper` utilizzando il comando `pip`, insieme ai pacchetti open source `psycopg`.

Per ulteriori informazioni sul driver AWS Python e istruzioni complete per il suo utilizzo, consulta il repository [Amazon Web Services ()AWS Python](https://github.com/awslabs/aws-advanced-python-wrapper) Driver. GitHub 

# Risoluzione dei problemi relativi alle connessioni all'istanza RDS per PostgreSQL
<a name="USER_ConnectToPostgreSQLInstance.Troubleshooting"></a>

**Topics**
+ [

## Errore – IRREVERSIBILE: il database *name* non esiste
](#USER_ConnectToPostgreSQLInstance.Troubleshooting-DBname)
+ [

## Errore – Impossibile connettersi al server: timeout della connessione
](#USER_ConnectToPostgreSQLInstance.Troubleshooting-timeout)
+ [

## Errori con regole di accesso ai gruppi di sicurezza
](#USER_ConnectToPostgreSQLInstance.Troubleshooting-AccessRules)

## Errore – IRREVERSIBILE: il database *name* non esiste
<a name="USER_ConnectToPostgreSQLInstance.Troubleshooting-DBname"></a>

Se ricevi un errore `FATAL: database name does not exist` durante il tentativo di connessione, prova a usare il nome del database predefinito **postgres** per l’opzione `--dbname`. 

## Errore – Impossibile connettersi al server: timeout della connessione
<a name="USER_ConnectToPostgreSQLInstance.Troubleshooting-timeout"></a>

Se la connessione all'istanza database non riesce, l'errore più comunemente restituito è `Could not connect to server: Connection timed out.` Se ricevi questo errore, procedi come segue:
+ Controllare che il nome host utilizzato corrisponda all'endpoint dell'istanza database e che il numero di porta utilizzato sia corretto. 
+ Assicurati che l'accessibilità pubblica dell'istanza database sia impostata su **Sì** per consentire le connessioni esterne. Per modificare l'impostazione **Accesso pubblico**, consulta [Modifica di un'istanza database Amazon RDS](Overview.DBInstance.Modifying.md).
+ Assicurarsi che l'utente che si connette al database disponga dell'accesso CONNECT. La seguente query può essere usata per fornire l'accesso di connessione al database.

  ```
  GRANT CONNECT ON DATABASE database name TO username;
  ```
+ Controllare che il gruppo di sicurezza assegnato all'istanza database disponga di regole che consentano l'accesso tramite firewall utilizzati dalla connessione. Se ad esempio l'istanza database è stata creata utilizzando la porta predefinita 5432, è necessario che la tua azienda disponga di regole firewall che blocchino le connessioni eseguite dai dispositivi dell'azienda tramite tale porta.

  Per correggere l'errore, dovrai modificare l'istanza database in modo da utilizzare un'altra porta. Assicurarsi inoltre che il gruppo di sicurezza associato all'istanza database consenta le connessioni alla nuova porta. Per modificare l'impostazione **Porta database**, consulta [Modifica di un'istanza database Amazon RDS](Overview.DBInstance.Modifying.md).
+ Verifica se la porta che stai tentando di utilizzare è già occupata da un’istanza locale di PostgreSQL o da un altro servizio in esecuzione sul computer. Ad esempio, se hai un database PostgreSQL locale in esecuzione sulla stessa porta (l’impostazione predefinita è 5432), potrebbe impedire il completamento della connessione all’istanza database RDS per PostgreSQL. Assicurati che la porta sia libera o prova a connetterti con un numero di porta diverso, se possibile.
+ Consulta anche [Errori con regole di accesso ai gruppi di sicurezza](#USER_ConnectToPostgreSQLInstance.Troubleshooting-AccessRules).

## Errori con regole di accesso ai gruppi di sicurezza
<a name="USER_ConnectToPostgreSQLInstance.Troubleshooting-AccessRules"></a>

Il problema di connessione più comune è sicuramente correlato alle regole di accesso del gruppo di sicurezza assegnate all'istanza database. Se hai usato il gruppo di sicurezza predefinito quando hai creato l'istanza database, è probabile che il gruppo di sicurezza non disponga di regole di accesso che consentano di eseguire l'accesso all'istanza. 

Per un corretto funzionamento della connessione, è necessario che il gruppo di sicurezza assegnato all'istanza database al momento della creazione consenta l'accesso all'istanza database. Ad esempio, se l'istanza database è stata creata in un VPC, deve disporre di un gruppo di sicurezza VPC che autorizzi le connessioni. Controlla se l'istanza database è stata creata tramite un gruppo di sicurezza che non autorizza le connessioni dal dispositivo o dall'istanza di Amazon EC2 su cui è eseguita l'applicazione.

Puoi aggiungere o modificare una regola in entrata nel gruppo di sicurezza: Per **Source (Origine)**, se si sceglie **My IP (Il mio IP)**, è possibile accedere all'istanza database dall'indirizzo IP rilevato nel browser. Per ulteriori informazioni, consulta [Fornisci accesso alla istanza database nel VPC creando un gruppo di sicurezza](CHAP_SettingUp.md#CHAP_SettingUp.SecurityGroup).

In alternativa, se l'istanza database è stata creata al di fuori di un VPC, deve disporre di un gruppo di sicurezza del database che autorizzi tali connessioni.

Per ulteriori informazioni sui gruppi di sicurezza Amazon RDS, consulta [Controllo dell'accesso con i gruppi di sicurezza](Overview.RDSSecurityGroups.md). 