Назад | Перейти на главную страницу

Как проверить, правильно ли установлен PostgreSQL 9 на сервере CentOS?

Я пытаюсь установить гем PG (postgres) на сервер CentoOS, но он продолжает говорить, что Postgres слишком старый, хотя я обновил его до 9.1.3 (согласно инструкциям здесь http://www.davidghedini.com/pg/entry/install_postgresql_9_on_centos).

Я использую CentOS 5.8 (и Ruby 1.9.3)

Вот сообщение об ошибке:

Building native extensions.  This could take a while...
ERROR:  Error installing pg:
    ERROR: Failed to build gem native extension.

        /usr/local/bin/ruby extconf.rb
checking for pg_config... yes
Using config values from /usr/bin/pg_config
checking for libpq-fe.h... yes
checking for libpq/libpq-fs.h... yes
checking for pg_config_manual.h... yes
checking for PQconnectdb() in -lpq... yes
checking for PQconnectionUsedPassword()... no
Your PostgreSQL is too old. Either install an older version of this gem or upgrade your database.
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

psql --version подтверждает мою версию: psql (PostgreSQL) 9.1.3

Я могу подтвердить установленные пакеты:

Setting up Install Process
Package postgresql91-9.1.3-1PGDG.rhel5.x86_64 already installed and latest version
Package postgresql91-devel-9.1.3-1PGDG.rhel5.x86_64 already installed and latest version
Package postgresql91-server-9.1.3-1PGDG.rhel5.x86_64 already installed and latest version
Package postgresql91-libs-9.1.3-1PGDG.rhel5.x86_64 already installed and latest version
Package postgresql91-contrib-9.1.3-1PGDG.rhel5.x86_64 already installed and latest version
Nothing to do

Есть идеи, как это исправить? Заранее спасибо.

Вставлено из https://stackoverflow.com/questions/15301026/pg-gem-install-fails-saying-version-is-too-old/28284126#28284126

Я сходил с ума от этого, пока не понял, что postgresql-devel и postgresql-libs были из 8.1.23!!!

$ yum list installed postgres*
Loaded plugins: fastestmirror, security
Installed Packages
postgresql-devel.i386          8.1.23-10.el5_10       installed
postgresql-devel.x86_64        8.1.23-10.el5_10       installed
postgresql-libs.i386           8.1.23-10.el5_10       installed
postgresql-libs.x86_64         8.1.23-10.el5_10       installed

---------------

$ sudo yum install postgresql94-libs
$ sudo yum install postgresql94-devel

$ gem install pg
Successfully installed pg-0.18.1

Поскольку вы используете последнюю версию PostgreSQL, маловероятно, что она действительно слишком старая. Я бы посмотрел на исходный код того, что вызывает эту ошибку, и поищу там ошибку. Как вычислить, что PostgreSQL «слишком старый»?

Ваш рубиновый драгоценный камень, вероятно, собирает старые библиотеки разработки. Обычно вы добавляете /usr/pgsql-9.0/include/ в свои включения.