sql >> Database >  >> RDS >> PostgreSQL

Hoe te bekijken welke Postgres-versie actief is

Bekijken welke versie (of versies) van PostgreSQL op uw systeem actief is, is een redelijk eenvoudig proces, maar er zijn een aantal methoden die kunnen worden gebruikt. In deze zelfstudie zullen we kort vier methoden verkennen om uw versie van PostgreSQL te vinden, inclusief zowel de client- als de serverversie.

Opmerking:zoals gebruikelijk wanneer u met PostgreSQL werkt, moet u ervoor zorgen dat u bent aangemeld bij uw shell-prompt van een niet-rootgebruiker met Postgres-rechten, zodat deze opdrachten correct werken.

De Shell-opdrachtregel gebruiken

Zowel de server- als de client Postgres-installaties kunnen worden opgevraagd met behulp van hun respectievelijke opdrachtregelhulpprogramma's.

De serverversie bekijken

Om de Postgres-serverversie vanaf de shell-opdrachtregel te vinden, geeft u eenvoudig een postgres . op commando met de -V vlag (voor versie):

$ postgres -V
postgres (PostgreSQL) 9.3.10

In het geval dat de postgres opdracht niet wordt gevonden, moet u mogelijk de directory van het hulpprogramma zoeken. Dit kan gedaan worden door de locate bin/postgres commando:

$ locate bin/postgres
/usr/lib/postgresql/9.3/bin/postgres

Nu met het directe pad naar de postgres hulpprogramma, kunt u het oproepen met de -V markeer zoals hierboven geïllustreerd:

$ /usr/lib/postgresql/9.3/bin/postgres -V
postgres (PostgreSQL) 9.3.10

De clientversie bekijken

Om de clientversie te bekijken, geeft u opnieuw gewoon de -V . door vlag naar de psql opdracht clienthulpprogramma:

$ psql -V
psql (PostgreSQL) 9.3.10

Vergelijkbaar met het bovenstaande, als u het hulpprogramma niet kunt vinden - of meerdere installaties van PostgreSQL op die machine hebt - kunt u gemakkelijk psql vinden :

$ locate bin/psql
/usr/bin/psql
/usr/lib/postgresql/9.3/bin/psql

Geef vervolgens een directe oproep aan de gelokaliseerde psql hulpprogramma voor de versie:

$ /usr/lib/postgresql/9.3/bin/psql -V
psql (PostgreSQL) 9.3.10

SQL gebruiken

Het is ook mogelijk om de Postgres-versie te bepalen vanuit een Postgres SQL-prompt via een eenvoudige SQL-instructie.

De serverversie bekijken

Om de serverversie te bepalen met behulp van een SQL-instructie, geeft u eenvoudig de SELECT version(); . op commando:

=# 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)

U ziet de uitvoerinformatie van de volledige versie zoals in het bovenstaande voorbeeld.

Als alternatief kunt u de specifieke serverversie opvragen in de standaard major.minor.patch formaat, met behulp van de SHOW commando:

=# SHOW server_version;
 server_version
----------------
 9.3.10
 (1 row)

SHOW wordt gebruikt om de huidige runtime-parameters weer te geven, die in wezen slechts een tabel zijn met name/setting paren. Door het uitgeven van de SHOW server_version; bovenstaande verklaring, vragen we Postgres om de huidige parameterwaarde van server_version op te halen , wat natuurlijk de versie van PostgreSQL is die momenteel wordt uitgevoerd.

De clientversie bekijken

Op dezelfde manier kunnen we ook een korte SQL-instructie afgeven vanaf een PostgreSQL-prompt om de clientversie van psql op te vragen. . Het is echter vermeldenswaard dat dit puur voor het gemak is, omdat we Postgres in feite alleen maar vragen om een ​​commando op de shell-prompt te geven, maar van binnen de PostgreSQL-prompt zelf.

Dit wordt gedaan met behulp van de \! vlag terwijl u verbonden bent met de client, gevolgd door de verklaring die we willen uitgeven:

=# \! psql -V
psql (PostgreSQL) 9.3.10

Net als voorheen toen we deze opdracht rechtstreeks vanaf de shell-prompt gaven, psql -V kan uw clientversie retourneren zoals hierboven, of het pad wordt mogelijk niet gevonden.

Daarmee hebben we vier eenvoudige maar effectieve manieren behandeld om zowel de server- als de clientversie van Postgres te detecteren.


  1. Is er een manier om tekstgegevens naar de database in PostgreSQL te laden?

  2. toegang geweigerd voor gebruiker @ 'localhost' tot database ''

  3. Toepassing crasht bij installatie met fout sqlite3_exec - Kan synchrone modus =1 (Normaal) niet instellen

  4. Testen van PostgreSQL-functies die refcursor verbruiken en retourneren