sql >> Database teknologi >  >> RDS >> PostgreSQL

Sådan får du vist, hvilken Postgres-version der kører

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å.


  1. Er der en SQLite svarende til MySQL's DESCRIBE [tabel]?

  2. Sådan opretter du fjernforbindelse til Oracle 11g-databasen

  3. Sådan udføres SQL-forespørgsel uden at vise resultater

  4. MySQL 'Bestil efter' - sorterer alfanumerisk korrekt