почему существует разница между выводом psql -version и версией psql, связанной с моим приложением? как я могу решить это

Я создаю приложение для рельсов, которое я клонировал от моего друга. Я использую Ubuntu 13.10, рельсы 3.2.14. Я использую базу данных postgresql, и когда я пытаюсь запустить rake db: migrate, она выдаёт мне ошибку вроде этого:

PG :: UndefinedObject: ERROR: тип "json" не существует LINE 1: ALTER TABLE " Фильтры "ADD COLUMN" search_string "json

Я установил версию pg: - 9.3.1

Выходные данные db работающих рельсов: -psql (9.3.1, сервер 9.1.10)

работает выбор версии (); : -PostgreSQL 9.1.10 для i686-pc-linux-gnu

Почему он показывает версию psql, отличную от версии, подключенной к моей базе данных ??

Мой друг работает над 9.2. 4 Я не знаю, почему возникает эта ошибка, я несколько раз пытался понизить версию, используя команды очистки или удаления, чтобы удалить 9.3.1, и все идет хорошо, но когда я проверяю psql --version, он снова показывает мне 9.3.1. Любое решение ???

0
задан 7 November 2013 в 11:55

2 ответа

Потому что у вас, вероятно, установлены разные пакеты версий клиента и сервера. Сначала я проверю, какие пакеты вы установили:

dpkg -l | grep postgresql

Затем установите серверный пакет 9.3, если у вас его еще нет.

Если он у вас уже есть, проверьте, какие кластеры у вас работают:

pg_lsclusters

Если у вас еще нет кластера 9.3, сделайте его (pg_createcluster). Если вы это сделаете, запишите номер порта и убедитесь, что вы подключаетесь к нему.

0
ответ дан 7 November 2013 в 11:55

Postgres 9.2 не упакован для Ubuntu 13.10, но 9.1 есть. Попробуйте сделать это так:

sudo apt-get purge postgresql*

sudo apt-get autoremove

sudo apt-get install postgresql-9.1
0
ответ дан 7 November 2013 в 11:55

Другие вопросы по тегам:

Похожие вопросы: