Postgresql - это объектно-реляционная база данных с высокой степенью масштабируемости и SQL совместимым синтаксисом и открытым исходным кодом. Она разрабатывается в калифорнийском университете Беркли. В последнее время PostgreSQL, благодаря своим преимуществам набирает большую популярность наряду с везде используемой mysql.
Вы можете узнать чем отличаются mysql и postgresql в отдельной статье, а сегодня мы рассмотрим как установить Postgresql CentOS 7, а также как выполнить минимальную настройку базы данных для подготовки ее к использованию.
Содержание статьи
Установка Postgresql CentOS
Самый первый шаг заключается в установке программы в вашу систему. Как я уже говорил, база данных довольно популярна, поэтому она есть в официальных репозиториях. Но если вы хотите получить самую свежую версию, то нужно добавить официальный репозиторий:
sudo rpm -Uvh http://yum.postgresql.org/9.5/redhat/rhel-7-x86_64/pgdg-centos95-9.5-2.noarch.rpm
В CentOS 6 команда будет выглядеть вот так:
sudo rpm -Uvh http://yum.postgresql.org/9.5/redhat/rhel-6-x86_64/pgdg-redhat95-9.5-2.noarch.rpm
После того как репозиторий будет добавлен к вашей системе вы можете перейти к установке программы. На данный момент последняя версия Postgresql 9.6. Именно для нее мы добавили репозиторий. Возможно, для более новых версий вам придется посетить сайт и посмотреть не появилась ли новая версия. Установка Postgresql CentOS 7 версии 9.6 выполняется командой:
sudo yum install postgresql96-server postgresql96
Сразу после установки Postgresql сервер еще не готов к использованию, нужно инициализировать необходимые базы данных. Для этого выполните:
/usr/pgsql-9.6/bin/postgresql96-setup initdb
Команде потребуется некоторое время для начальной инициализации. После ее завершения в переменной PGDATA будет сохранен путь к папке с базами данных. В моем случае это /var/lib/pgsql/9.5/data/.
Дальше запускаем сервер баз данных и добавляем его в автозагрузку:
sudo systemctl start postgresql-9.6
$ sudo systemctl enable postgresql-9.6
Настройка Postgresql CentOS 7
Теперь сервер баз данных Postgresql установлен и запущен. Нам осталось проверить как все работает, настроить пользователей и свою первую базу данных. Настройка Postgresql CentOS 7 изначально выполняется только от пользователя postgres поэтому переключаемся на этого пользователя с помощью команды su:
sudo su - postgres
Команда выполняется от имени администратора, потому что иначе у вас спросят пароль, а вы его не знаете. Для доступа к консоли Postgresql будем применять команду psql:
psql
Смотрим информацию о подключении:
\conninfo
Первое что здесь можно сделать, это создать пароль для postgres:
\password postgres
Дальше закройте оболочку командой:
\quit
Пользователь postgres - это аналог суперпользователя для Postgresql. Но не всегда безопасно использовать вход от имени суперпользователя. Нам нужно создать обычного пользователя, который может только управлять базами данных. Для этого выполните в консоли от имени postgres:
createuser --interactive
Дальше нужно ввести имя роли и ответить на несколько вопросов, а также повторить процедуру задания пароля как для postgres. Чтобы вы могли использовать postgresql через терминал от имени этого пользователя добавьте пользователя UNIX:
sudo adduser user
Нам осталось только создать новую базу данных:
createdb test1
Теперь у вас есть все необходимое для полноценной работы с программой.
Установка Phppgadmin CentOS 7
Не очень удобно работать с консольным интерфейсом управления базами данных. Иногда нужно просто и быстро добавить базу данных или создать пользователя. Для этого можно использовать веб-интерфейс phppgadmin. Для установки программы выполните:
sudo yum install phpPgAdmin
Также нужно, чтобы на вашей машине был установлен и запущен веб-сервер Apache. Чтобы перезапустить Apache выполните:
sudo systemctl restart httpd
После завершения установки вы сможете открыть адрес phpPgAdmin в браузере. Только обратите внимание на регистр букв, его нужно сохранять как при установке пакета, так и в браузере:
Выводы
В этой статье мы рассмотрели как выполняется установка Postgresql CentOS 7. Как видите, здесь нет ничего очень сложного. Postgresql имеет некоторые особенности, например, авторизация пользователя в системе для управления базой данных. Если у вас остались вопросы, спрашивайте в комментариях!
На завершение видео о про преимущества Postgresql:
Доброго времени суток. У Вас есть ошибочки.
Вы часто путали 9.5 - 9.6 при написании версий и команд.
Если ставим 9.6 то и команды с 9.6...
Неплохо добавить бы что можно сделать upgrade до версии 9.6 достаточно травиально.
добавить репу https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm
включить в /etc/yum.repos.d/CentOS-Base.repo строчку exclude=postgresql* в секцию [base] и [updates]
Ну и далее как обычно... update - upgrade итд
Да забыл добавить что после установки Вы вряд ли зайдете в БД без настройки двух строчек минимум. Будет ругаться на неправильный пароль... попробуйте а потом поправьте
в pg_hba.conf
host all all 127.0.0.1/32 md5
host all all ::1/128 md5
вместо ident нужно md5