Visualizar qual versão (ou versões) do PostgreSQL está ativa em seu sistema é um processo razoavelmente simples, mas existem vários métodos que podem ser usados. Neste tutorial, exploraremos brevemente quatro métodos para encontrar sua versão do PostgreSQL, incluindo as versões do cliente e do servidor.
Observação:Como de costume ao trabalhar com o PostgreSQL, certifique-se de estar conectado ao prompt do shell de um usuário não root com privilégios do Postgres para que esses comandos funcionem corretamente.
Usando a linha de comando do Shell
As instalações do servidor e do cliente do Postgres podem ser consultadas usando seus respectivos utilitários de linha de comando.
Visualizando a versão do servidor
Para encontrar a versão do servidor Postgres a partir da linha de comando do shell, basta emitir um
postgres
comando com o -V
sinalizador (para versão):$ postgres -V
postgres (PostgreSQL) 9.3.10
Caso o
postgres
comando não for encontrado, talvez seja necessário localizar o diretório do utilitário. Isso pode ser feito emitindo o comando locate bin/postgres
comando:$ locate bin/postgres
/usr/lib/postgresql/9.3/bin/postgres
Agora com o caminho direto para o
postgres
utilitário, você pode chamá-lo com o -V
sinalizador como ilustrado acima:$ /usr/lib/postgresql/9.3/bin/postgres -V
postgres (PostgreSQL) 9.3.10
Visualizando a versão do cliente
Para visualizar a versão do cliente, novamente basta passar o
-V
sinalizar para o psql
comando do utilitário do cliente:$ psql -V
psql (PostgreSQL) 9.3.10
Semelhante ao acima, se você não conseguir encontrar o utilitário – ou tiver várias instalações do PostgreSQL nessa máquina – você pode localizar facilmente o
psql
:$ locate bin/psql
/usr/bin/psql
/usr/lib/postgresql/9.3/bin/psql
Em seguida, emita uma chamada direta para o
psql
localizado utilitário para a versão:$ /usr/lib/postgresql/9.3/bin/psql -V
psql (PostgreSQL) 9.3.10
Usando SQL
Também é possível determinar a versão do Postgres a partir de um prompt SQL do Postgres por meio de uma instrução SQL simples.
Visualizando a versão do servidor
Para determinar a versão do servidor usando uma instrução SQL, basta emitir o comando
SELECT version();
comando:=# 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)
Você verá as informações de saída da versão completa, conforme visto no exemplo acima.
Alternativamente, você pode consultar a versão específica do servidor, no padrão
major.minor.patch
formato, usando o SHOW
comando:=# SHOW server_version;
server_version
----------------
9.3.10
(1 row)
SHOW
é usado para exibir os parâmetros de tempo de execução atuais, que são essencialmente apenas uma tabela de name/setting
pares. Emitindo o SHOW server_version;
acima, estamos pedindo ao Postgres para recuperar o valor do parâmetro atual de server_version
, que obviamente é a versão do PostgreSQL atualmente em execução. Visualizando a versão do cliente
De maneira semelhante, também podemos emitir uma instrução SQL curta de um prompt do PostgreSQL para consultar a versão do cliente do
psql
. No entanto, vale a pena notar que isso é puramente por conveniência, pois estamos efetivamente apenas pedindo ao Postgres para emitir um comando no prompt do shell, mas de dentro o próprio prompt do PostgreSQL. Isso é feito usando o
\!
flag enquanto conectado ao cliente, seguido pela declaração que desejamos emitir:=# \! psql -V
psql (PostgreSQL) 9.3.10
Assim como antes, quando estávamos emitindo este comando diretamente do prompt do shell,
psql -V
pode retornar sua versão do cliente como acima, ou o caminho pode não ser encontrado. Com isso, abordamos quatro maneiras simples, mas eficazes, de detectar as versões de servidor e cliente do Postgres.