Устанавливаем PostgreSQL 9.4 на Centos 6.5
Статья повествует о том, как установить PostgreSQL 9.4 на Centos 6.5.
Для начала редактируем файл /etc/yum.repos.d/CentOS-Base.repo
и добавляем следующую строку в секции [base]
и [updates]
exclude=postgresql*
Включаем дополнительный репозиторий:
yum localinstall http://yum.postgresql.org/9.4/redhat/rhel-6-x86_64/pgdg-centos94-9.4-1.noarch.rpm -y
Ставим PostgreSQL:
yum install postgresql94-server postgresql94-contrib postgresql-devel -y
После завершения установки - добавляем в автозапуск и стартуем:
chkconfig postgresql-9.4 on
service postgresql-9.4 initdb
service postgresql-9.4 start
Теперь нужно создать пользователя и базу даных в PostgreSQL.
Меняем активного пользователя на postgres и подключаемся в консоль:
su - postgres
psql
Создаем базу и разрешаем пользователю с ней работать:
CREATE DATABASE **dbname**;
CREATE USER **dbuser** WITH PASSWORD '**myPassword**';
GRANT ALL PRIVILEGES ON DATABASE **dbname** to **dbuser**;
Нажимаем Ctrl+D что бы вернуться назад в сессию пользователя root.
Что бы удостовериться что пользователь создан нормально выполните:
psql -U**dbuser** -d**dbname** -hlocalhost -W
С большой вероятностью Вам выдаст следующую ошибку:
psql: FATAL: Ident authentication failed for user `djangodbuser`
Для того что бы ее устранить откройте для редактирования файл /var/lib/pgsql/9.4/data/pg_hba.conf
, найдите в нем следующие строки и замените ident
на password
:
host all all 127.0.0.1/32 ident
host all all ::1/128 ident
После сохранения файла перезапустите PostgreSQL:
service postgresql-9.4 restart
Можно повторить:
psql -U**dbuser** -d**dbname** -hlocalhost -W
Все должно работать. Если не работает - оставьте коментарий.
Драйвер PostgreSQL для PHP
pecl install pdo_pgsql
Слудущая ошибка при установке - не смертельна:
configure: error: Cannot find libpq-fe.h. Please specify correct PostgreSQL installation path
configure: error: Cannot find libpq.so. Please specify correct PostgreSQL installation path
Фиксы:
ln -s /usr/pgsql-9.4/include/libpq-fe.h /usr/local/include/libpq-fe.h
ln -s /usr/pgsql-9.4/lib/libpq.so /usr/local/lib/libpq.so
Следующей ошибкой может выскочить:
/var/tmp/PDO_PGSQL/php_pdo_pgsql_int.h:27:28: error: libpq/libpq-fs.h: No such file or directory
/usr/local/include/libpq-fe.h:29:26: error: postgres_ext.h: No such file or directory
И вообще оно будет плеваться, что не может найти то или другое. Устраняется:
for f in $(ls /usr/pgsql-9.4/include/); do
ln -s /usr/pgsql-9.4/include/$f /usr/local/include/$f;
done
Драйвер PostgreSQL для python:
pip install psycopg2
Слудущая ошибка при установке - не смертельна:
Error: pg_config executable not found.
Фикс:
ln -s /usr/pgsql-9.4/bin/pg_config /usr/local/sbin/pg_config