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.
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
- Copiare le informazioni sul certificato dal pannello Endpoint o dal campo Base64 delle informazioni di connessione.
- Se necessario, decodificare la stringa Base64 in testo.
- Salvare il certificato in un file. (È possibile utilizzare il nome fornito o il proprio nome file).
- 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