In questa breve guida, esploreremo come verificare quale versione di Postgres è in esecuzione sul tuo computer o in un'istanza di Postgres sia per la versione client che per quella server.
Sommario
- Utilizzo della riga di comando
- Utilizzo di SQL
- Usa
VERSION
variabile speciale
1. Utilizzando la riga di comando
Le installazioni di Postgres forniscono utilità sia client che server che possono essere utilizzate per interrogare l'installazione di Postgres.
Per verificare la versione, utilizziamo il rispettivo binario ma con il -V
o --version
bandiera.
Versione server
Per trovare la versione del server Postgres dalla riga di comando della shell, usa postgres
comando con il -V
o (--version
) flag (per versione):
$ postgres -V
postgres (PostgreSQL) 14.0
Spesso, il comando Postgresql non viene aggiunto a $PATH e normalmente non è accessibile. In tal caso, riceverai l'errore:
$ postgres -V
-bash: postgres: command not found
Se conosci il percorso esatto del postgres
eseguibile, digitalo come /path/to/postgres -V
ma in caso contrario usa locate
comando. Se ottieni locate
comando non trovato in questo modo:
# locate bin/postgres
-bash: locate: command not found
Devi installarlo. Sto usando Rocky Linux 8 – Simile a Centos 8. Quindi, per controllare quale pacchetto lo fornisce:
$ sudo dnf whatprovides locate
Last metadata expiration check: 0:44:27 ago on Wed 06 Oct 2021 05:46:04 AM UTC.
mlocate-0.26-20.el8.x86_64 : An utility for finding files by name
Repo : baseos
Matched from:
Filename : /usr/bin/locate
Installa locate in centos 8
$ sudo dnf install -y mlocate
Quindi Aggiorna locate
database in modo che possa trovare i file:
$ sudo updatedb
Quindi cerchiamo di individuare il nostro bin/postgres
.
$ locate bin/postgres
/usr/bin/postgresql-14-setup
/usr/pgsql-14/bin/postgres
/usr/pgsql-14/bin/postgresql-14-check-db-dir
/usr/pgsql-14/bin/postgresql-14-setup
Nel nostro caso siamo interessati al /usr/pgsql-14/bin/postgres
comando:
$ /usr/pgsql-14/bin/postgres -V
postgres (PostgreSQL) 14.0
Versione client
Postgres fornisce uno strumento client pgsql
che può essere utilizzato per connettersi ai postges.
Per visualizzare la versione del client, passa il -V
flag su psql
comando di utilità client:
$ psql -V
psql (PostgreSQL) 14.0
Se il comando psql non viene trovato, cercalo con :
$ locate bin/psql
/usr/bin/psql
/usr/pgsql-14/bin/psql
Quindi puoi fornire il percorso completo:
$ /usr/pgsql-14/bin/psql -V
psql (PostgreSQL) 14.0
2. Utilizzo di SQL
Possiamo anche utilizzare il prompt SQL tramite un'istruzione SQL per interrogare il database Postgesql.
Versione server
Per determinare la versione del server, postgres fornisce select version();
postgres=# select version();
version
-----------------------------------------------------------------------------------------------------
---
PostgreSQL 14.0 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 8.4.1 20200928 (Red Hat 8.4.1-1), 64-b
it
(1 row)
Il comando precedente mostrerà le informazioni sulla versione completa per il database.
Puoi anche interrogare dalla riga di comando:
psql -c "SELECT version();"
Puoi anche interrogare la versione specifica del server, nello standard major.minor.patch
formato, utilizzando il SHOW
comando:
postgres=# show server_version;
server_version
----------------
14.0
(1 row)
Il SHOW
comando viene utilizzato per visualizzare i parametri di runtime correnti, che sono essenzialmente solo una tabella di name/setting
coppie.
Versione client
Possiamo anche emettere una breve istruzione SQL da un prompt di PostgreSQL per interrogare la versione client di psql
. Tuttavia, vale la pena notare che questo è puramente per comodità, poiché stiamo effettivamente chiedendo a Postgres di emettere un comando sul prompt della shell, ma da dentro il prompt di PostgreSQL stesso.
Questo viene eseguito utilizzando il \!
flag durante la connessione al cliente, seguito dalla dichiarazione che desideriamo rilasciare:
postgres=# \! psql -V
psql (PostgreSQL) 14.0
Proprio come prima quando eseguivamo questo comando direttamente dal prompt della shell, psql -V
potrebbe restituire la versione del tuo client come sopra, oppure il percorso potrebbe non essere trovato.
3. Usa VERSION
variabile speciale
Possiamo anche usare la VERSION
variabile speciale definita per postgres
utente. Affinché funzioni, dobbiamo essere loggati come utente postgres.
Accedi come postgres
sudo su - postgres
Quindi controlla la versione
$ psql -c "\echo :VERSION"
PostgreSQL 14.0 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 8.4.1 20200928 (Red Hat 8.4.1-1), 64-bit
Conclusione
In questa guida siamo riusciti a spiegare come controllare le versioni client e server di Postgres.