Estou em um ambiente corporativo (executando o Debian Linux) e não o instalei. Eu acesso os bancos de dados usando Navicat ou phpPgAdmin (se isso ajudar). Também não tenho acesso de shell ao servidor que está executando o banco de dados.
postgresql
Altamente Irregular
fonte
fonte
psql -c 'SELECT version();'
psql postgres -c 'SELECT version();'
sudo -u postgres psql postgres -c 'SELECT version()' | grep PostgreSQL
você deve passar "papel 'nome de usuário' não existe".Eu acredito que é isso que você está procurando,
Versão do servidor:
Versão do cliente:
fonte
pg_config --version
pode ser enganoso, por exemplo, se você atualizar um servidor Ubuntu e não executarpg_upgradecluster
, o pg_config mostrará a nova versão em vez da que você ainda está usando.pg_config --version
O comando:psql --version
não funciona, reclama por isso:dyld: Library not loaded: /usr/local/opt/readline/lib/libreadline.7.dylib Referenced from: /usr/local/bin/psql Reason: image not found
Usando CLI:
Versão do servidor:
Se houver mais de uma instalação do PostgreSQL ou se estiver recebendo o
postgres: command not found
erro " ":Se
locate
não ajudar, tentefind
:Embora
postmaster
também possa ser usado em vez depostgres
,postgres
é preferível usar porquepostmaster
é um alias obsoleto depostgres
.Versão do cliente:
Como relevante, faça o login como
postgres
.Se houver mais de uma instalação do PostgreSQL:
Usando SQL:
Versão do servidor:
Se mais curioso, tente
=> SHOW all;
.Versão do cliente:
Pelo que vale, um comando shell pode ser executado dentro
psql
para mostrar a versão do cliente dopsql
executável no caminho. Observe que a execuçãopsql
pode ser potencialmente diferente daquela no caminho.fonte
SHOW server_version;
é muito útil em scripts para evitar a análise na longa sequência deSELECT version();
.psql postgres -c "SHOW server_version" -t -A
.-t
remove cabeçalhos,-A
remove o espaço em branco do alinhamento.SHOW server_version_num
em particular, o que é útil para as desigualdades.Se você estiver usando a CLI e for um
postgres
usuário , poderá fazer o seguinte:Saída possível :
fonte
A resposta aceita é ótima, mas se você precisar interagir programaticamente com a versão do PostgreSQL, talvez seja melhor fazer:
Ele retornará a versão do servidor como um número inteiro. É assim que a versão do servidor é testada na fonte do PostgreSQL , por exemplo:
Mais informações aqui e aqui .
fonte
Executar comando
Onde
V deve estar em maiúscula.
fonte
psql
versão (cliente), não a versão do servidor Postgres .no shell psql.exe, execute
fonte
Uma maneira simples é verificar a versão digitando
psql --version
terminalfonte
Para usá-
pgadmin4
lo, clique duas vezes em Servidores> server_name_here> guia Propriedades> Versão:Versão 3.5:
Versão 4.1, 4.5:
fonte
O comando pg_config relatará o diretório em que os programas PostgreSQL estão instalados (--bindir), a localização do arquivo C (--includedir) e as bibliotecas de códigos de objeto (--libdir) e a versão do PostgreSQL (--version) :
fonte
No meu caso
Espero que ajude alguém
fonte
Se você tiver acesso shell ao servidor (a pergunta menciona op não, mas no caso de você possuir) em um sistema debian / ubuntu
que produzirá a versão instalada,
onde
Installed: <version>
é a versão do pacote postgres instalado.fonte
$ yum list
para ver que determinados pacotes do Postgresql estavam instalados.use
VERSION
variável especialfonte
Não sabe o quão confiável é isso, mas você pode obter dois tokens de versão totalmente automaticamente:
Assim, você pode criar caminhos para os binários:
Apenas substitua 9.2 por este comando.
fonte
psql --version
retorna a versão dopsql
cliente, não a versão do servidor PostgresPara a versão atual do PgAdmin: 4.16 no momento da escrita.
Veja a captura de tela abaixo:
fonte
Se
Select version()
retornar com Memo, tente usar o comando desta maneira:ou
fonte
select version()::varchar(100);
funcionou para mim, mas era o mesmo queversion()