В статье рассмотрим установку и первоначальную настройку различных версий сервера PostgreSQL на ОС CentOS 7
PostgreSQL 9.2
Установка
Эта версия входит в стандартные yum репозиториях. Поэтому для установки просто введите команду
yum install postgresql postgresql-server
Инициализируем базу
postgresql-setup initdb
Запускаем и добавляем в автозагрузку, заодно и проверим статус что сервер нормально запустился
systemctl enable postgresql; systemctl start postgresql; systemctl status postgresql
Если все нормально должны увидеть что postgres запущен.
Настройка
Сейчас в вашей СУБД есть только один пользователь — postgres. Рекомендуется не использовать данного пользователя для работы со своими базами данных, а создавать для каждой базы отдельного пользователя (или несколько при необходимости).
Задаем пароль на пользователя postgres
passwd postgres
Подключаемся к серверу postgres
sudo -u postgres psql
Создаем нового пользователя
create user username with password 'password';
Вместо username и password подставьте свои имя пользователя и пароль.
Файлы конфигурации находятся в каталоге /var/lib/pgsql/data, в котором находятся два основных конфигурационных файла.
- postgresql.conf — основной файл с настройками СУБД
- pg_hba.conf — файл с настройками доступа для клиентов. В частности, тут можно указать каким пользователям с каких IP-адресов можно подключаться к определенным БД, и требуется ли проверять пароль пользователя, и если требуется — каким методом.
Редактируем файл postgresql.conf.
Для начала разрешим подключение к СУБД из локальной сети (по умолчанию подключение разрешено только с localhost).
Раскомментируем строку
listen_addresses = ‘localhost’
исправим её на
listen_addresses = ‘localhost,10.10.10.1’
Здесь 10.10.10.1 — ip адрес интерфейса который смотрит в локальную сеть
Теперь разрешим подключение из локальной сети с любых хостов и к любым БД, для этого в конец файла pg_hba.conf добавим:
# localnet host all all 10.10.10.0/24 md5
Рестартуем postgresql
systemctl restart postgresql
PostgreSQL 11
Установка
Более свежую версию можно найти на официальном сайте по ссылке https://download.postgresql.org/pub/repos/yum/. На момент написания статьи это 11.2 версия. Добавляем репозиторий.
yum install https://download.postgresql.org/pub/repos/yum/11/redhat/rhel-7.6-ppc64le/pgdg-centos11-11-2.noarch.rpm
Устанавливаем postgresql
yum install postgresql11-server
Инициализируем базу
/usr/pgsql-11/bin/postgresql-11-setup initdb
Запускаем сервер и проверяем что все нормально
systemctl enable postgresql-11; systemctl start postgresql-11; systemctl status postgresql-11
Настройка
Первоначальные настройки пользователей и доступа к СУБД аналогичны рассмотренным выше. Только конфигурационные файлы находятся в директории /var/lib/pgsql/11/data/. После внесения изменений не забудьте перезапустить postgres командой
systemctl restart postgresql-11