IBM Cloud Docs
Connessione con psql

Connessione con psql

Utilizzare psql per l'interazione diretta e il monitoraggio delle strutture dati create all'interno del database. psql è utile anche per testare e monitorare query e prestazioni, installare e modificare script e altre attività di gestione.

L'utente admin viene fornito con il PostgreSQL ruolo predefinito pg_monitor, che consente l'accesso alle funzioni e alle viste di monitoraggio PostgreSQL. Per impostazione assunta, l'utente admin non dispone delle autorizzazioni sugli oggetti creati da altri utenti.

È necessario impostare la password admin prima di utilizzarla per connettersi al database. Per ulteriori informazioni, consultare la pagina Impostazione della password amministratore.

Installazione psql

Per utilizzare psql, gli strumenti client di PostgreSQL devono essere installati sul sistema locale. Possono essere installati con il pacchetto PostgreSQL completo fornito da postgresql.org, come pacchetto dal gestore pacchetti del tuo sistema operativo.

Per ulteriori informazioni su psql, vedi la documentazione di PostgreSQL.

La maggior parte delle istruzioni per l'installazione degli strumenti PostgreSQL presuppone che si desideri installare anche il database. È un'ipotesi ragionevole se hai a che fare con utenti che non hanno accesso a PostgreSQL nel cloud o su un server remoto.

Ecco i passaggi per installare psql come strumento autonomo su macOS, Linux e Windows.

Installazione di psql su macOS con Homebrew

Ti consigliamo Homebrew come gestore di pacchetti per macOS. Con Homebrew, è possibile installare numerose applicazioni, di norma con i programmi disponibili in /usr/local/bin. Il pacchetto homebrew per gli strumenti client PostgreSQL è il pacchetto libpq. Brew lo rende facile da installare:

brew install libpq

C'è un piccolo problema: libpq non si installerà nella directory /usr/local/bin. Per fare in modo che ciò accada, è necessario eseguire:

brew link --force libpq

Quale collegamento simbolico (un file che punta a un altro file o cartella) tutti gli strumenti, non solo libpq, nella directory /usr/local/bin.

Installazione di postgresql-client su Ubuntu

I sistemi Linux, a differenza di macOS, hanno un gestore di pacchetti integrato. Per Ubuntu (e le distribuzioni basate su Debian) si tratta del comando apt. Il client PostgreSQL è distribuito nell'apposita cartella postgresql-client. Per installarlo, eseguire un comando come:

sudo apt-get install postgresql-client

Questo installerà il client PostgreSQL.

Installazione di postgresql-client su Red Hat Enterprise Linux

Per Red Hat Enterprise Linux (o RHEL, come viene solitamente scritto), c'è un po' più di configurazione rispetto a Ubuntu. Per RHEL, il gestore dei pacchetti è Yum.

Per prima cosa, occorre puntare Yum al repository PostgreSQL, in questo modo:

sudo yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-redhat10-10-2.noarch.rpm

Yum va su URL e si configura per usare quel repository di pacchetti. A questo punto è possibile aggiungere i pacchetti per nome:

sudo yum install postgresql15

Questo comando installa solo i pacchetti client. Se vi state chiedendo dove trovare il repository URL, andate su Linux Downloads ( Red Hat Family) dove troverete un modulo che vi permetterà di selezionare la versione, la piattaforma e l'architettura di PostgreSQL e vi darà le istruzioni appropriate per quella variante di Red Hat- che include CentOS, Scientific Linux, e Oracle Enterprise Linux. Include anche Fedora. I repository predefiniti di Fedora hanno già un client PostgreSQL disponibile. Per Fedora 27 e 28 e successive, installare il client PostgreSQL dal terminale con:

sudo dnf install postgresql.x86_64

Installazione di psql su Windows

Per Windows, utilizzare il programma di installazione PostgreSQL di Enterprise DB. È un pacchetto di installazione completo per PostgreSQL su Windows, ma si può impostare per installare solo gli strumenti della riga di comando come psql. Selezionare le versioni di PostgreSQL e Windows. Una volta scaricato il file eseguibile, eseguirlo. Selezionate solo Strumenti a riga di comando, se non avete bisogno di installare il server.

Dopo l'installazione, si impostano le variabili d'ambiente di Windows in modo da poter utilizzare il client psql nel prompt dei comandi. Accedere a Pannello di controllo > Sistema e sicurezza > Sistema e selezionare* Impostazioni di sistema avanzate*. Da qui appare una casella chiamata Proprietà del sistema. Seleziona Variabili di ambiente. Viene visualizzata una finestra con le due serie di variabili d'ambiente. Nell'insieme superiore, contrassegnato da "Variabili utente per...", selezionare la voce PATH e quindi fare clic sul pulsante Modifica. Viene visualizzata una finestra di modifica. Fare clic su New e aggiungere il percorso al client psql. Il percorso dipende da dove è stato installato PostgreSQL, ma in genere è il seguente:

C:\Program Files\PostgreSQL\<POSTGRES_VERSION>\bin

Dopodiché, fare clic su OK un paio di volte per tornare al desktop. Avviate un nuovo prompt dei comandi e dovreste essere in grado di eseguire psql.

psql Stringhe di connessione

Le stringhe di connessione sono visualizzate nel pannello Endpoint della _Panoramica_della tua distribuzione e possono essere richiamate anche dal plug-in CLICloud Databases e dall'API.

Le informazioni di cui hai bisogno per stabilire un collegamento con psql sono nella sezione "cli" delle tue stringhe di connessione. La tabella contiene una suddivisione per riferimento.

informazioni sulla connessione psql/cli
Nome campo Indice Descrizione
Bin Il binario consigliato per creare una connessione; in questo caso è psql.
Composed Un comando formattato per stabilire una connessione alla tua distribuzione. Il comando combina l'eseguibile Bin, le impostazioni delle variabili Environment e utilizza Arguments come parametri della riga di comando.
Environment Un elenco di chiavi/valori impostati come variabili d'ambiente.
Arguments 0... Le informazioni che vengono passate come argomenti al comando, visualizzate nel campo Bin.
Certificate Base64 Un certificato proprietario del servizio che viene utilizzato per confermare che un'applicazione si sta connettendo al server appropriato. Ha una codifica base64.
Certificate Nome Il nome assegnato per il certificato proprietario del servizio.
Type Il tipo di pacchetto che utilizza queste informazioni di connessione; in questo caso cli.
  • 0... indica che in un array potrebbero essere presenti una o più di queste voci.

Creazione di una connessione client della riga comandi

Prima di creare una connessione client della riga comandi, assicurarsi di aver impostato la password Admin per la distribuzione.

Il comando ibmcloud cdb deployment-connections gestisce tutto ciò che è coinvolto nella creazione di una connessione client della riga comandi. Ad esempio, per connettersi a una distribuzione denominata "example-postgres", utilizza il seguente comando:

ibmcloud cdb deployment-connections <INSTANCE_NAME_OR_CRN> --start

oppure

ibmcloud cdb cxn <INSTANCE_NAME_OR_CRN> -s

Il comando richiede la parola d'ordine admin ed esegue il client della riga comandi psql per connettersi al database.

Se non hai installato il plug-in della CLI Cloud Databases, connettiti ai tuoi database PostgreSQL utilizzando psql fornendogli la stringa di connessione "composta". Fornisce le variabili di ambiente PGPASSWORD e PGSSLROOTCERT. Impostare PGPASSWORD con la password dell'amministratore e PGSSLROOTCERT con il percorso o il nome del file del certificato proprietario del servizio.

PGPASSWORD=$PASSWORD PGSSLROOTCERT=0b22f14b-7ba2-11e8-b8e9-568642342d40 psql 'host=4a8148fa-3806-4f9c-b3fc-6467f11b13bd.8f7bfd7f3faa4218aec56e069eb46187.databases.appdomain.cloud port=32325 dbname=ibmclouddb user=admin sslmode=verify-full'

Utilizzo del certificato proprietario del servizio

  1. Copiare le informazioni sul certificato dal pannello Endpoint o dal campo Base64 delle informazioni di connessione.
  2. Se necessario, decodificare la stringa Base64 in testo.
  3. Salvare il certificato in un file. (È possibile utilizzare il nome fornito o il proprio nome file).
  4. Fornire il percorso del certificato alla variabile di ambiente ROOTCERT.

Puoi visualizzare il certificato decodificato per la tua distribuzione con il plug-in CLI con il comando:

ibmcloud cdb deployment-cacert <INSTANCE_NAME_OR_CRN>

Il comando decodifica base64 in testo. Copiare e salvare l'output del comando in un file e fornire il percorso del file alla variabile di ambiente ROOTCERT.

Un'altra opzione è quella di aggiungere &sslrootcert=/path/to/cert alla stringa di connessione, ad esempio:

postgres://$USERNAME:$PASSWORD@6eb96148-90bc-49a0-a5a4-dc2b53334653.btdl8mld0r95fevivv30.databases.appdomain.cloud:32109/ibmclouddb?sslmode=verify-full&sslrootcert=/path/to/cert