Je suis dans un environnement d'entreprise (exécutant Debian Linux) et ne l'ai pas installé moi-même. J'accède aux bases de données en utilisant Navicat ou phpPgAdmin (si cela aide). Je n'ai pas non plus d'accès shell au serveur exécutant la base de données.
postgresql
Très irrégulier
la source
la source
psql -c 'SELECT version();'
psql postgres -c 'SELECT version();'
sudo -u postgres psql postgres -c 'SELECT version()' | grep PostgreSQL
devrait vous faire passer "le rôle" nom d'utilisateur "n'existe pas".Je crois que c'est ce que vous recherchez,
Version du serveur:
Version client:
la source
pg_config --version
pourrait être trompeur, par exemple si vous mettez à niveau un serveur Ubuntu et ne l'exécutez paspg_upgradecluster
, pg_config affichera la nouvelle version au lieu de celle que vous utilisez toujours.pg_config --version
La commande:psql --version
ne fonctionne pas, se plaint pour cela:dyld: Library not loaded: /usr/local/opt/readline/lib/libreadline.7.dylib Referenced from: /usr/local/bin/psql Reason: image not found
Utilisation de CLI:
Version du serveur:
Si vous avez plusieurs installations de PostgreSQL, ou si vous obtenez l'
postgres: command not found
erreur " ":Si cela
locate
n'aide pas, essayezfind
:Bien qu'il
postmaster
puisse également être utilisé à la place depostgres
, l'utilisationpostgres
est préférable car ilpostmaster
s'agit d'un alias obsolète depostgres
.Version client:
Le cas échéant, connectez-vous en tant que
postgres
.Si vous disposez de plusieurs installations de PostgreSQL:
Utilisation de SQL:
Version du serveur:
Si vous êtes plus curieux, essayez
=> SHOW all;
.Version client:
Pour ce que ça vaut, une commande shell peut être exécutée à l'intérieur
psql
pour afficher la version client de l'psql
exécutable dans le chemin. Notez que l'exécutionpsql
peut potentiellement être différente de celle du chemin.la source
SHOW server_version;
est très pratique dans les scripts pour éviter d'avoir à analyser la longue chaîne deSELECT version();
.psql postgres -c "SHOW server_version" -t -A
.-t
supprime les en-têtes,-A
supprime les espaces d'alignement.SHOW server_version_num
en particulier, ce qui est pratique pour les inégalités.Si vous utilisez CLI et que vous êtes un
postgres
utilisateur , vous pouvez le faire:Sortie possible :
la source
La réponse acceptée est excellente, mais si vous avez besoin d'interagir par programme avec la version PostgreSQL, il vaut peut-être mieux faire:
Il renverra la version du serveur sous forme d'entier. Voici comment la version du serveur est testée dans la source PostgreSQL , par exemple:
Plus d'infos ici et ici .
la source
Exécuter la commande
Où
V doit être en majuscule.
la source
psql
version (client), pas de la version du serveur Postgres .dans shell psql.exe, exécutez
la source
Un moyen simple est de vérifier la version en tapant
psql --version
terminalla source
Son utilisation
pgadmin4
peut être vue en double-cliquant sur Serveurs> nom_serveur_ici> onglet Propriétés> Version:Version 3.5:
Version 4.1, 4.5:
la source
La commande pg_config signale le répertoire dans lequel les programmes PostgreSQL sont installés (--bindir), l'emplacement des fichiers d'inclusion C (--includedir) et des bibliothèques de code objet (--libdir), et la version de PostgreSQL (--version) :
la source
Dans mon cas
J'espère que cela aidera quelqu'un
la source
Si vous avez un accès shell au serveur (la question mentionne que op n'a pas, mais au cas où vous l'avez), sur un système debian / ubuntu
qui affichera la version installée,
où
Installed: <version>
est la version du package postgres installé.la source
$ yum list
pour voir que certains packages Postgresql étaient installés.utiliser
VERSION
une variable spécialela source
Je ne sais pas à quel point c'est fiable, mais vous pouvez obtenir deux jetons de version de manière entièrement automatique:
Vous pouvez donc créer des chemins vers les binaires:
Remplacez simplement 9.2 par cette commande.
la source
psql --version
renvoie la version dupsql
client, pas la version du serveur PostgresPour la version actuelle de PgAdmin: 4.16 au moment de la rédaction.
Voir capture d'écran ci-dessous:
la source
Si
Select version()
retourne avec Memo, essayez d'utiliser la commande de cette façon:ou
la source
select version()::varchar(100);
travaillé pour moi, mais était le même queversion()