CentOS 5: Minha versão do servidor Postgresql é diferente com o meu cliente psql. O que devo fazer?

1

Eu instalei o PostgreSQL 9.1 no CentOS 5 x86_64 VPS, com os seguintes comandos:

Especifiquei qual versão do Postgresql gostaria de instalar, portanto escolho 9.1 porque quero equacionar o ambiente de desenvolvimento e produção:

wget http://yum.pgrpms.org/9.1/redhat/rhel-5-x86_64/pgdg-centos91-9.1-4.noarch.rpm

e depois

yum install postgresql91-server

Finalmente

service postgresql-9.1 initdb
chkconfig postgresql-9.1 on
service postgresql-9.1 start

Depois de terminar tudo isso e criar meu banco de dados, corro psql myfirstdb e recebi este aviso:

Welcome to psql 8.1.23 (server 9.1.11), the PostgreSQL interactive terminal.

Type:  \copyright for distribution terms
       \h for help with SQL commands
       \? for help with psql commands
       \g or terminate with semicolon to execute query
       \q to quit

WARNING:  You are connected to a server with major version 9.1,
but your psql client is major version 8.1.  Some backslash commands,
such as \d, might not work properly.

Então, disse que eu tenho 9.1 servidor e usando o cliente psql 8.1, e alguns comandos como \d não estão funcionando.

Como posso corrigi-los?

    
por Abednego 31.12.2013 / 12:31

3 respostas

2

É provável que você tenha mais de uma versão do PostgreSQL e a versão incorreta do psql está sendo usada. Experimente

sudo find / -name psql

Em seguida, verifique a versão dos arquivos e use a correta, definindo PATH.

 /usr/pgsql-9.3/bin/psql -V
psql (PostgreSQL) 9.3.2

Você também pode tentar

yum list installed | grep postgres

para ver quais versões do PostgreSQL existem no seu sistema.

    
por 01.01.2014 / 04:54
1

O pacote do cliente, postgresql91 , depende do pacote do servidor postgresql91-server . Então você tem o cliente instalado, mas não é o padrão.

Os pacotes RH usam o mecanismo de alternativas, emprestado do Debian, para controlar qual programa é executado. Você pode escolher a versão para usar com:

sudo update-alternatives --config pgsql-psql

... mas não tenho certeza se esse é o caso da versão mais antiga que você está usando.

Como alternativa, você pode definir seu PATH up para colocar os binários mais recentes primeiro. Anexar a .bash_profile :

export PATH=/usr/pgsql-9.1/bin:$PATH

e depois feche e reabra o terminal.

    
por 01.12.2014 / 03:51
0

O cliente psql está em um pacote separado do servidor psql. É comumente chamado de postgresql-client.

    
por 31.12.2013 / 15:01