Dans ce bref guide, nous allons explorer comment vérifier quelle version de Postgres s'exécute sur votre machine ou dans une instance de postgres pour les versions client et serveur.
Table des matières
- Utiliser la ligne de commande
- Utiliser SQL
- Utilisez
VERSION
variable spéciale
1. Utilisation de la ligne de commande
Les installations Postgres fournissent à la fois des utilitaires client et serveur qui peuvent être utilisés pour interroger l'installation Postgres.
Pour vérifier la version, nous utilisons le binaire respectif mais avec le -V
ou --version
drapeau.
Version serveur
Pour trouver la version du serveur Postgres à partir de la ligne de commande du shell, utilisez le postgres
commande avec le -V
ou (--version
) drapeau (pour la version):
$ postgres -V
postgres (PostgreSQL) 14.0
Souvent, la commande Postgresql n'est pas ajoutée au $PATH et n'est normalement pas accessible. Dans ce cas, vous obtiendrez l'erreur :
$ postgres -V
-bash: postgres: command not found
Si vous connaissez le chemin exact vers le postgres
exécutable, tapez-le comme /path/to/postgres -V
mais si ce n'est pas le cas, utilisez le locate
commande. Si vous obtenez le locate
commande introuvable comme ceci :
# locate bin/postgres
-bash: locate: command not found
Vous devez l'installer. J'utilise Rocky Linux 8 - Similaire à Centos 8. Donc, pour vérifier quel paquet fournit cela :
$ 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
Installer localiser dans centos 8
$ sudo dnf install -y mlocate
Ensuite, mettez à jour locate
base de données afin qu'il puisse trouver les fichiers :
$ sudo updatedb
Ensuite, localisons notre 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
Dans notre cas, nous sommes intéressés par le /usr/pgsql-14/bin/postgres
commande :
$ /usr/pgsql-14/bin/postgres -V
postgres (PostgreSQL) 14.0
Version cliente
Postgres fournit un outil client pgsql
qui peut être utilisé pour se connecter à postges.
Pour voir la version du client, passez le -V
drapeau au psql
commande de l'utilitaire client :
$ psql -V
psql (PostgreSQL) 14.0
Si la commande psql n'est pas trouvée, recherchez-la avec :
$ locate bin/psql
/usr/bin/psql
/usr/pgsql-14/bin/psql
Ensuite, vous pouvez fournir le chemin complet :
$ /usr/pgsql-14/bin/psql -V
psql (PostgreSQL) 14.0
2. Utiliser SQL
Nous pouvons également utiliser l'invite SQL via une instruction SQL pour interroger la base de données Postgesql.
Version serveur
Pour déterminer la version du serveur, postgres fournit le 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)
La commande ci-dessus affichera les informations de version complètes de la base de données.
Vous pouvez également interroger à partir de la ligne de commande :
psql -c "SELECT version();"
Vous pouvez également interroger la version spécifique du serveur, dans le standard major.minor.patch
format, en utilisant le SHOW
commande :
postgres=# show server_version;
server_version
----------------
14.0
(1 row)
Le SHOW
La commande est utilisée pour afficher les paramètres d'exécution actuels, qui ne sont essentiellement qu'un tableau de name/setting
paires.
Version cliente
Nous pouvons également émettre une courte instruction SQL à partir d'une invite PostgreSQL pour interroger la version client de psql
. Cependant, il convient de noter que cela est purement pratique, car nous demandons simplement à Postgres d'émettre une commande à l'invite du shell, mais depuis dedans l'invite PostgreSQL elle-même.
Ceci est effectué en utilisant le \!
flag lors de la connexion au client, suivi de la déclaration que nous souhaitons émettre :
postgres=# \! psql -V
psql (PostgreSQL) 14.0
Tout comme auparavant lorsque nous lancions cette commande directement à partir de l'invite du shell, psql -V
peut renvoyer la version de votre client comme ci-dessus, ou le chemin peut être introuvable.
3. Utilisez VERSION
variable spéciale
Nous pouvons également utiliser la VERSION
variable spéciale définie pour le postgres
utilisateur. Pour que cela fonctionne, nous devons être connectés en tant qu'utilisateur postgres.
Se connecter en tant que postgres
sudo su - postgres
Vérifiez ensuite la version
$ 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
Conclusion
Nous avons réussi à expliquer comment vérifier les versions client et serveur de postgres dans ce guide.