Nota
- Questa esercitazione richiede l'accesso a Oracle Cloud. Per iscriverti a un account gratuito, consulta Inizia a utilizzare Oracle Cloud Infrastructure Free Tier.
- Utilizza valori di esempio per le credenziali, la tenancy e i compartimenti di Oracle Cloud Infrastructure. Al termine del laboratorio, sostituisci questi valori con quelli specifici del tuo ambiente cloud.
Connettersi a Oracle Cloud Infrastructure Database con PostgreSQL utilizzando DBeaver
Introduzione
In questa esercitazione verrà descritto come connettersi a Oracle Cloud Infrastructure Database con PostgreSQL utilizzando uno strumento di amministrazione del database come DBeaver.
DBeaver è uno strumento gratuito di gestione di database open-source che migliora notevolmente l'efficienza degli amministratori di database (DBA) PostgreSQL fornendo un'interfaccia intuitiva per l'amministrazione, lo sviluppo e l'analisi dei dati del database. Anche qualsiasi altro strumento può essere preso in considerazione.
Questa esercitazione descrive come eseguire il provisioning di un database OCI con PostgreSQL all'interno di una subnet privata. Inoltre, nella seconda e nella terza attività, verrà eseguito il provisioning di un'istanza di computazione per fungere da host bastion nella stessa rete cloud virtuale (VCN), consentendo l'accesso al database PostgreSQL tramite uno strumento di amministrazione del database come DBeaver.
Lo schema riportato di seguito descrive l'approccio.
Obiettivi
-
Creare un'istanza di database PostgreSQL in una subnet privata.
-
Crea l'istanza di computazione Oracle Cloud Infrastructure (OCI) per connettersi a PostgreSQL in una subnet pubblica, utilizzando la stessa VCN. Aggiungere la porta
5432
alla lista di sicurezza della subnet privata. -
Connettere utilizzando DBeaver.
Prerequisiti
- Accesso a una tenancy OCI con privilegi per creare database e istanze di computazione.
Task 1: creare un'istanza di database PostgreSQL in una subnet privata
Possiamo utilizzare più metodi per creare un'istanza di database PostgreSQL come OCI Console, CLI e API. Per ulteriori informazioni, vedere Creazione di un sistema di database.
In questo task verrà utilizzata la console OCI per creare un sistema di database PostgreSQL gestito.
-
Eseguire il login a OCI Console, passare a Database, PostgreSQL e fare clic su Sistemi DB.
-
Fare clic su Crea PostgreSQL sistema di database.
-
Nella pagina Crea PostgreSQL sistema di database, selezionare Crea nuovo sistema di database e fare clic su Successivo.
-
Nella sezione Configurazione del sistema di database, immettere le informazioni riportate di seguito.
-
Nome sistema di database: immettere un nome per il sistema di database.
-
Descrizione (Facoltativo): immettere una descrizione per il sistema di database.
-
Versione principale PostgreSQL: selezionare una versione principale del database PostgreSQL. L'unico valore consentito è 14.
-
-
Nella sezione Sistema di database, immettere un valore per Conteggio nodi. È necessario un nodo primario. I nodi aggiuntivi sono riservati come nodi di replica di lettura.
-
Selezionare Livello prestazioni per il database. Per ulteriori informazioni, vedere Livelli di prestazioni.
-
Selezionare Posizionamento dei dati.
- Regionale: i dati vengono memorizzati in modo permanente in più domini di disponibilità nell'area.
- Specifico di dominio di disponibilità: i dati vengono memorizzati in modo permanente nel dominio di disponibilità selezionato.
-
Nella sezione Configurazione hardware, immettere le informazioni seguenti.
-
Conteggio OCPU: selezionare il numero di OCPU per nodo.
-
Forme disponibili: selezionare la forma dei nodi del database.
-
-
Nella sezione Configurazione di rete, immettere le informazioni seguenti.
-
Rete cloud virtuale: selezionare la VCN in cui si desidera creare il database. Se è necessario creare una VCN, fare clic su Crea una VCN. Per ulteriori informazioni, vedere Gestione di VCN e subnet.
-
Subnet: selezionare la subnet privata della VCN selezionata.
-
Indirizzo IP privato: un indirizzo IP privato nella subnet per l'istanza di database. Il valore è facoltativo. Se non viene fornito un indirizzo IP, ne viene scelto uno tra gli indirizzi IP disponibili nella subnet specificata.
-
-
Nella sezione Credenziali amministratore database, immettere le credenziali per il database. Gli amministratori non ottengono l'accesso di superutente. Un database OCI con un utente amministratore PostgreSQL può creare utenti e ruoli.
-
Nome utente: specificare il nome utente dell'amministratore. Questo valore non può essere modificato dopo la creazione del sistema di database.
-
Opzioni password: selezionare una delle seguenti opzioni.
-
Password di input:
-
Password: immettere la password dell'amministratore.
-
Conferma password: confermare la password dell'amministratore.
-
-
Usa OCI Vault:
-
Vault: selezionare il vault contenente la password dell'amministratore.
-
Secret: selezionare il segreto che contiene la password dell'amministratore.
-
Versione segreta: selezionare una versione del segreto.
-
-
-
-
Dopo aver configurato il sistema di database, fare clic su Successivo.
-
Rivedere la configurazione del sistema di database e fare clic su Sottometti.
-
Dopo la creazione riuscita, accedere alla pagina delle informazioni generali per il sistema di database.
Task 2: creare un'istanza di OCI Compute per connettersi a PostgreSQL
Il database PostgreSQL è in fase di distribuzione all'interno di una rete privata. Verrà creata un'istanza con un indirizzo IP pubblico e verrà concesso l'accesso a PostgreSQL. Questa istanza appena creata fungerà da punto di accesso al database PostgreSQL.
-
Andare alla console OCI, andare a Computazione e Istanze.
-
Selezionare una subnet pubblica nella stessa VCN di cui è stato eseguito il provisioning dell'istanza di database PostgreSQL OCI.
-
SSH nell'istanza ed eseguire i comandi riportati di seguito. Questa operazione installerà il client per PostgreSQL versione 14.
sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm sudo dnf -qy module disable postgresql sudo dnf install -y postgresql14-server sudo /usr/pgsql-14/bin/postgresql-14-setup initdb sudo systemctl enable postgresql-14 sudo systemctl start postgresql-14
rm -rf ~/.pgpass
-
Andare alla pagina di panoramica PostgreSQL di OCI, fare clic su Copia nel certificato CA o scaricare il certificato ed eseguire il comando riportato di seguito nel terminale.
sudo nano ./dbsystem.pub
Copiare e incollare il certificato completo nel file
dbsystem.pub
. Salvare e chiudere il file. -
Eseguire il test della connessione utilizzando il comando seguente.
psql -h [DB Private IP] -U [user name] -d postgres
Ad esempio:
psql -h 10.0.1.165 -U admin -d postgres
-
Eseguire l'istruzione come test per rivedere la connessione.
SELECT VERSION();
-
Eseguire la seguente istruzione per connettersi come utente.
psql "sslmode=verify-full sslrootcert=./dbsystem.pub host=<endpoint_fqdn> hostaddr=[DB private IP] dbname=postgres user=<user_name>"
Ad esempio:
psql "sslmode=verify-full sslrootcert=dbsystem.pub host= yfya3utrulnsbuzniy7545tsnwvuzq-primary.postgresql.eu-madrid-1.oc1.oraclecloud.com hostaddr=10.0.1.165 dbname=postgres user=admin"
-
Eseguire l'istruzione seguente per verificare se la connessione funziona.
SELECT VERSION();
Task 3: connettersi utilizzando DBeaver
In questo task, verrà installato DBeaver e verrà eseguita la connessione a PostgreSQL.
-
Scarica e installa DBeaver da qui: DBeaver Community.
-
Aggiungere le credenziali per connettersi al database OCI con PostgreSQL.
-
Immettere l'indirizzo IP e la porta 22 della virtual machine (VM). DBeaver utilizzerà la stessa istanza VM nella subnet pubblica utilizzando SSH per accedere al database OCI con il database PostgreSQL.
-
(Facoltativo) Eseguire l'istruzione seguente per creare una tabella e caricare i dati utilizzando DBeaver.
DROP TABLE cars; CREATE TABLE cars ( brand VARCHAR(255), model VARCHAR(255), year INT ); INSERT INTO cars (brand, model, year) VALUES ('Toyota', 'Camry', 2023), ('Honda', 'Accord', 2022), ('Ford', 'Mustang', 2024), ('Chevrolet', 'Corvette', 2023), ('BMW', '3 Series', 2021), ('Mercedes-Benz', 'C-Class', 2022), ('Volkswagen', 'Golf', 2023), ('Audi', 'A4', 2024); COMMIT; SELECT * FROM cars;
Panoramica della tabella creata.
Collegamenti correlati
Conferme
- Autori - Ismael Hassane (Senior Solution Architect, Data Platform), Jevon Rowan (Principal Cloud Solution Engineer, Open Source Data Services Specialist)
Altre risorse di apprendimento
Esplora altri laboratori su docs.oracle.com/learn o accedi a più contenuti gratuiti sulla formazione su Oracle Learning YouTube channel. Inoltre, visita education.oracle.com/learning-explorer per diventare un Oracle Learning Explorer.
Per la documentazione del prodotto, visita l'Oracle Help Center.
Connect to Oracle Cloud Infrastructure Database with PostgreSQL using DBeaver
G15175-01
September 2024