PostgreSQL — чрезвычайно популярная система управления реляционными базами данных (RDBMS) с открытым исходным кодом, которая существует уже более 30 лет. Он обеспечивает поддержку языка SQL, который используется для управления базами данных и выполнения операций CRUD (создать, прочитать, обновить, удалить).
PostgreSQL заработал прочную репутацию благодаря своей надежности, гибкости и производительности. Это основное хранилище данных для многочисленных веб-приложений и аналитических приложений. Глобальные гиганты, которые полагаются на PostgreSQL, включают Spotify, Instagram, Trivago, Uber и Netflix.
На момент написания этого руководства последней версией была PostgreSQL 15, и в этой статье мы покажем, как установить PostgreSQL на Rocky Linux и AlmaLinux.
Шаг 1. Добавьте репозиторий PostgreSQL.
Версия PostgreSQL по умолчанию в репозиториях Appstream — PostgreSQL 10.
$ sudo dnf module list postgresql
Из вывода ясно видно, что поток PostgreSQL по умолчанию, отмеченный [ d ], — это PostgreSQL 10.
Чтобы установить последнюю версию PostgreSQL, нам нужно сначала установить репозиторий PostgreSQL YUM в нашей системе, как показано ниже.
--------------- Rocky & AlmaLinux 9 --------------- $ sudo dnf install https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm --------------- Rocky & AlmaLinux 8 --------------- $ sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
Шаг 2: Установите PostgreSQL 15 на Rocky/Alma Linux
После создания репозитория PostgreSQL YUM следующим шагом будет обновление репозиториев. Просто запустите следующую команду, чтобы добиться этого:
$ sudo dnf update -y
Затем отключите модуль по умолчанию, которым, как мы видели ранее, является PostgreSQL 10.
$ sudo dnf -qy module disable postgresql
Как только модуль по умолчанию отключен, продолжите и установите клиент и сервер PostgreSQL 15, как показано.
$ sudo dnf install -y postgresql15-server
Введите «Y» и нажимайте ENTER каждый раз, когда вам будет предложено импортировать ключ GPG.
Команда устанавливает сервер и клиент PostgreSQL вместе с другими зависимостями. В самом конце установки вы должны отобразить вывод, указывающий на то, что все пакеты были успешно установлены.
Вы можете подтвердить установленную версию PostgreSQL с помощью команды:
$ psql -V psql (PostgreSQL) 15.0
Шаг 3: Инициализируйте базу данных PostgreSQL
Прежде чем двигаться дальше, нам нужно инициализировать базу данных initdb, которая отвечает за создание нового кластера PostgreSQL. Кластер — это группа или совокупность нескольких баз данных, управляемых кластером.
Итак, для инициализации базы данных выполните команду:
$ sudo /usr/pgsql-15/bin/postgresql-15-setup initdb
Шаг 4: Запустите и включите службу PostgreSQL
После установки и инициализации PostgreSQL следующим шагом будет запуск службы и обеспечение работы сервера базы данных. Но перед этим включите PostgreSQL для запуска во время загрузки.
$ sudo systemctl enable postgresql-15
После этого запустите сервер базы данных PostgreSQL.
$ sudo systemctl start postgresql-15
Чтобы убедиться, что PostgreSQL запущен и работает, выполните:
$ sudo systemctl status postgresql-15
Из вывода видно, что наш сервер базы данных работает так, как мы и ожидали.
Шаг 5. Подключитесь к базе данных PostgreSQL.
Когда PostgreSQL установлен, создается пользователь базы данных по умолчанию с именем postgres. Он не требует никакой аутентификации, поэтому для входа в систему не требуется пароль. На следующем шаге мы создадим пароль для пользователя postgres из соображений безопасности.
Сейчас мы собираемся войти в оболочку PostgreSQL, сначала переключившись на пользователя postgres.
$ sudo su - postgres
После того, как вы переключились на пользователя postgresql, получите доступ к приглашению базы данных с помощью команды:
$ psql
Шаг 6: Установите пароль для пользователя Postgres
Наконец, мы собираемся защитить пользователя postgres паролем из соображений безопасности. Как пользователь sudo выполните команду:
$ sudo passwd postgres
Введите новый пароль и подтвердите. Теперь снова войдите в систему как пользователь Postgres.
$ su - postgres
И запустите показанную команду.
psql -c "ALTER USER postgres WITH PASSWORD 'your-password';"
В следующий раз, когда вы попытаетесь войти в систему с помощью пользователя postgres, вам потребуется пройти аутентификацию.
$ su - postgres