Установка и запуск PostgreSQL на CentOS


Тематические термины: PostgreSQL, CentOS
Данная инструкция написана на примере систем CentOS 7 и 8, а также PostgreSQL 9/10 (из коробки) или любой другой версии (настройка репозитория).
Установка
PostgreSQL 9/10
В зависимости от версии операционной системы, из коробки будет установлена версия 9.2 (CentOS 7) или 10 (CentOS 8).
Просто вводим команду:
yum install postgresql-server
PostgreSQL > 9.2
Для установки более свежей версии PostgreSQL на CentOS необходимо подключить репозиторий:
yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-`rpm -E %{rhel}`-x86_64/pgdg-redhat-repo-latest.noarch.rpm
Установка PostgreSQL в CentOS 8 осуществлена через модульные репозитории, что помешает нам — отключаем их командой:
dnf module disable postgresql
И чистим кэш:
dnf clean all
После чего обновляем список пакетов:
yum makecache -y
Устанавливаем postgres:
yum install postgresql11-server
* в данном примере будет установлен postgresql версии 11.
** система проверит репозиторий на наличие нужного пакета и задаст запрос на подтверждение установки программы — отвечаем Y.
Запуск
После установки СУБД необходимо:
- Инициализировать базу. Это делается с помощью утилиты postgresql-setup с ключом initdb.
- Разрешить автозапуск сервиса.
- Стартовать службу.
В зависимости от версии postgresql, эти операции выполняются, немного, по-разному.
PostgreSQL (базовый репозиторий)
Инициализация базы:
postgresql-setup initdb
Запуск сервиса:
systemctl enable postgresql --now
PostgreSQL (другая версия — на примере 11)
Инициализация базы (синтаксис):
/usr/pgsql-<версия>/bin/postgresql-<версия>-setup initdb
Например:
/usr/pgsql-11/bin/postgresql-11-setup initdb
Разрешаем запуск сервиса и стартуем его:
systemctl enable postgresql-11 --now
Тестовое подключение
Задаем пароль для пользователя postgres:
passwd postgres
Заходим в систему под данной учетной записью:
su - postgres
Подключаемся к базе:
psql
Делаем тестовый запрос на получение списка таблиц:
=# \dt *
Выходим из оболочки psql:
=# \q
Отключаемся от системы пользователем postgres:
exit
Настройка завершена. Следующим шагом настраиваем подключение к PostgreSQL и создаем пользователя.
Удаление
Для удаления достаточно ввести следующую команду.
PostgreSQL (базовый репозиторий)
yum remove postgresql-server
PostgreSQL (другая версия — на примере 11)
yum remove postgresql11-server