At se hvilken version (eller versioner) af PostgreSQL, der er aktiv på dit system, er en rimelig simpel proces, men der er en række metoder, der kan bruges. I denne vejledning vil vi kort udforske fire metoder til at finde din version af PostgreSQL, inklusive både klient- og serverversionerne.
Bemærk:Som sædvanligt, når du arbejder med PostgreSQL, skal du sørge for, at du er logget ind på din shell-prompt fra en ikke-rootbruger med Postgres-rettigheder, for at disse kommandoer kan fungere korrekt.
Brug af Shell-kommandolinjen
Både serveren og klientens Postgres-installationer kan forespørges ved hjælp af deres respektive kommandolinjeværktøjer.
Visning af serverversionen
For at finde Postgres-serverversionen fra shell-kommandolinjen skal du blot udstede en postgres
kommandoen med -V
flag (for version):
$ postgres -V
postgres (PostgreSQL) 9.3.10
I tilfælde af at postgres
kommandoen ikke findes, skal du muligvis finde biblioteket til hjælpeprogrammet. Dette kan gøres ved at udstede locate bin/postgres
kommando:
$ locate bin/postgres
/usr/lib/postgresql/9.3/bin/postgres
Nu med den direkte sti til postgres
hjælpeprogrammet, kan du kalde det med -V
flag som illustreret ovenfor:
$ /usr/lib/postgresql/9.3/bin/postgres -V
postgres (PostgreSQL) 9.3.10
Visning af klientversionen
For at se klientversionen skal du igen blot sende -V
flag til psql
klientværktøjskommando:
$ psql -V
psql (PostgreSQL) 9.3.10
I lighed med ovenstående, hvis du ikke kan finde værktøjet – eller har flere installationer af PostgreSQL på den pågældende maskine – kan du nemt finde psql
:
$ locate bin/psql
/usr/bin/psql
/usr/lib/postgresql/9.3/bin/psql
Foretag derefter et direkte opkald til den lokaliserede psql
værktøj til versionen:
$ /usr/lib/postgresql/9.3/bin/psql -V
psql (PostgreSQL) 9.3.10
Brug af SQL
Det er også muligt at bestemme Postgres-versionen fra en Postgres SQL-prompt via en simpel SQL-sætning.
Visning af serverversionen
For at bestemme serverversionen ved hjælp af en SQL-sætning skal du blot udstede SELECT version();
kommando:
=# SELECT version();
version
------------------------------------------------------------------------------------------------------
PostgreSQL 9.3.10 on x86_64-unknown-linux-gnu, compiled by gcc (Ubuntu 4.8.2-19ubuntu1) 4.8.2, 64-bit
(1 row)
Du vil se den fulde version af outputoplysninger som vist i eksemplet ovenfor.
Alternativt kan du forespørge efter den specifikke serverversion i standarden major.minor.patch
format ved at bruge SHOW
kommando:
=# SHOW server_version;
server_version
----------------
9.3.10
(1 row)
SHOW
bruges til at vise aktuelle køretidsparametre, som i det væsentlige kun er en tabel med name/setting
par. Ved at udstede SHOW server_version;
ovenfor, beder vi Postgres om at hente den aktuelle parameterværdi for server_version
, som selvfølgelig er den version af PostgreSQL, der kører i øjeblikket.
Visning af klientversionen
På samme måde kan vi også udstede en kort SQL-sætning fra en PostgreSQL-prompt for at forespørge klientversionen af psql
. Det er dog værd at bemærke, at dette udelukkende er for nemheds skyld, da vi faktisk bare beder Postgres om at udstede en kommando på shell-prompten, men indenfor selve PostgreSQL-prompten.
Dette udføres ved at bruge \!
flag, mens du er forbundet til klienten, efterfulgt af den erklæring, vi ønsker at udstede:
=# \! psql -V
psql (PostgreSQL) 9.3.10
Ligesom før, da vi udstedte denne kommando direkte fra shell-prompten, psql -V
kan returnere din klientversion som ovenfor, eller stien bliver muligvis ikke fundet.
Med det har vi dækket fire enkle, men effektive måder at detektere både server- og klientversionerne af Postgres på.