por que existe diferença entre a saída do psql -version e a versão do psql conectada ao meu aplicativo? Como posso resolver isto

0

Estou construindo uma aplicação de trilhos que eu clonei do meu amigo. Eu estou usando o Ubuntu 13.10, rails 3.2.14. Eu estou usando um banco de dados postgresql e quando tento executar o rake db: migrate ele me dá um erro como este:

PG :: UndefinedObject: ERRO: o tipo "json" não existe LINHA 1: ALTER TABLE "filters" ADD COLUMN "search_string" json

Eu instalei a versão pg: - 9.3.1

a saída do db dos trilhos em execução é: -psql (9.3.1, servidor 9.1.10)

executando a versão selecionada (); : -PostgreSQL 9.1.10 em i686-pc-linux-gnu

Por que ele está mostrando a versão do psql diferente da versão conectada ao meu banco de dados ??

Meu amigo está trabalhando em 9.2.4 Eu não sei porque este erro está ocorrendo, eu tentei várias vezes para fazer downgrade usando purge ou remover comandos para remover 9.3.1 tudo vai bem, mas quando eu verificar psql --version it novamente me mostra 9.3.1. Qualquer solução ???

    
por peeyush singla 06.11.2013 / 14:19

2 respostas

0

Porque você provavelmente tem pacotes de versão de cliente e servidor diferentes instalados. Primeiro, eu verificaria quais pacotes você instalou:

dpkg -l | grep postgresql

Em seguida, instale o pacote do servidor 9.3, se ainda não o tiver.

Se você já o tiver, verifique quais clusters você está executando:

pg_lsclusters

Se você ainda não tiver um cluster 9.3, crie um ( pg_createcluster ). Se fizer isso, anote o número da porta e certifique-se de se conectar a esse.

    
por Peter Eisentraut 07.11.2013 / 15:00
0

O Postgres 9.2 não está empacotado para o Ubuntu 13.10, mas o 9.1 é. Tente fazer assim:

sudo apt-get purge postgresql*

sudo apt-get autoremove

sudo apt-get install postgresql-9.1
    
por Luís de Sousa 06.11.2013 / 15:16