Как установить PostgreSQL на AlmaLinux 10

В этой статье блога вы узнаете, как установить PostgreSQL на AlmaLinux 10. PostgreSQL, или Postgres, — это бесплатная система управления объектно-реляционными базами данных с открытым исходным кодом для хранения данных. PostgreSQL — это мощная СУБД с различными функциями, такими как транзакции с атомарностью, согласованностью, изоляцией, надёжностью, автоматическим обновлением и т. д. Она совместима с несколькими операционными системами, такими как Windows, macOS, FreeBSD и Linux. В следующих разделах мы покажем вам, как установить систему управления базами данных PostgreSQL, управлять сервисом и использовать некоторые базовые команды.
Установка PostgreSQL на AlmaLinux проста и может занять до 10 минут. Давайте начнём!
Предварительные условия
- Сервер под управлением AlmaLinux 10 или любой другой OS на базе Linux
- Привилегии пользователя: пользователь root или некорневой пользователь с привилегиями sudo
Обновите систему
Прежде чем приступить к установке системы баз данных PostgreSQL, рекомендуется обновить системные пакеты до последних доступных версий. Для этого выполните следующую команду:
sudo dnf update -y && sudo dnf upgrade -y
Установить сервер базы данных PostgreSQL
Репозиторий PostgreSQL по умолчанию добавлен в последнюю версию ОС AlmaLinux 10. Чтобы установить последнюю версию PostgreSQL 16, выполните следующую команду:
sudo dnf install postgresql-server postgresql-contrib postgresql -y
После установки вы можете проверить версию PostgreSQL и убедиться, что установка прошла успешно. Для этого выполните следующую команду:
postgres --version
Вы должны получить следующий результат:
[root@host ~]# postgres --version postgres (PostgreSQL) 16.4
Управление сервисом PostgreSQL
После успешной установки для запуска и включения автоматического запуска PostgreSQL при загрузке системы выполните следующую команду:
sudo systemctl start postgresql && sudo systemctl enable postgresql
Чтобы проверить состояние сервиса, вы можете использовать следующую команду:
sudo systemctl status postgresql
Если все в порядке, вы получите результат, подобный этому:
root@host ~]# sudo systemctl status postgresql ● postgresql.service - PostgreSQL database server Loaded: loaded (/usr/lib/systemd/system/postgresql.service; enabled; preset: disabled) Active: active (running) since Sun 2025-04-05 10:47:09 CDT; 41min ago Invocation: deb4221eaa0b447f94a583925e15fe4c Main PID: 1907 (postgres) Tasks: 7 (limit: 23175) Memory: 19.5M (peak: 22.4M) CPU: 647ms CGroup: /system.slice/postgresql.service ├─1907 /usr/bin/postgres -D /var/lib/pgsql/data ├─1909 "postgres: logger " ├─1910 "postgres: checkpointer " ├─1911 "postgres: background writer " ├─1913 "postgres: walwriter " ├─1914 "postgres: autovacuum launcher " └─1915 "postgres: logical replication launcher " Apr 05 10:47:09 host.test.vps systemd[1]: Starting postgresql.service - PostgreSQL database server... Apr 05 10:47:09 host.test.vps postgres[1907]: 2025-04-05 10:47:09.309 CDT [1907] LOG: redirecting log output to logging collector process Apr 05 10:47:09 host.test.vps postgres[1907]: 2025-04-05 10:47:09.309 CDT [1907] HINT: Future log output will appear in directory "log". Apr 05 10:47:09 host.test.vps systemd[1]: Started postgresql.service - PostgreSQL database server.
Остановка службы PostgreSQL может быть выполнена с помощью:
sudo systemctl stop postgresql
Перезапуск службы с помощью:
sudo systemctl restart postgresql
Есть ещё один способ проверить, работает ли PostgreSQL на вашем сервере, — проверить порт 5432, который является портом PostgreSQL по умолчанию:
netstat -tunlp | grep 5432
Поскольку с помощью предыдущей команды мы уже знаем, что PostgreSQL работает успешно, вы должны получить примерно такой результат:
[root@host ~]# netstat -tunlp | grep 5432 tcp6 0 0 ::1:5432 :::* LISTEN 1907/postgres
Консоль PostgreSQL
Командная строка PostgreSQL необходима для управления базами данных, создания пользователей, установки паролей, предоставления разрешений и т. д. Сначала мы покажем вам, как войти в командную строку PostgreSQL. Выполните следующую команду:
sudo -u postgres psql
После этой команды вы войдете в консоль PostgreSQL:
[root@host ~]# sudo -u postgres psql psql (16.4) Type "help" for help. postgres=#
Чтобы создать новую базу данных пользователей и предоставить этому пользователю права, выполните следующие команды одну за другой:
CREATE DATABASE rhtestdb; CREATE USER rhtestuser WITH ENCRYPTED PASSWORD 'YourStrongPasswordHere'; GRANT ALL PRIVILEGES ON DATABASE rhtestdb TO rhtestuser;
При выполнении приведенной выше команды вы получите сообщения с подтверждением создания базы данных и пользователя, как показано ниже:
postgres=# CREATE DATABASE rhtestdb; CREATE DATABASE postgres=# CREATE USER rhtestuser WITH ENCRYPTED PASSWORD 'YourStrongPasswordHere'; CREATE ROLE postgres=# GRANT ALL PRIVILEGES ON DATABASE rhtestdb TO rhtestuser; GRANT postgres=#
Теперь, когда база данных и пользователь созданы, мы можем вывести список баз данных с помощью следующей команды:
\l
Вы получите результат, подобный этому:
postgres=# \l List of databases Name | Owner | Encoding | Locale Provider | Collate | Ctype | ICU Locale | ICU Rules | Access privileges -----------+----------+----------+-----------------+---------+---------+------------+-----------+------------------------- postgres | postgres | UTF8 | libc | C.UTF-8 | C.UTF-8 | | | rhtestdb | postgres | UTF8 | libc | C.UTF-8 | C.UTF-8 | | | =Tc/postgres + | | | | | | | | postgres=CTc/postgres + | | | | | | | | rhtestuser=CTc/postgres template0 | postgres | UTF8 | libc | C.UTF-8 | C.UTF-8 | | | =c/postgres + | | | | | | | | postgres=CTc/postgres template1 | postgres | UTF8 | libc | C.UTF-8 | C.UTF-8 | | | =c/postgres + | | | | | | | | postgres=CTc/postgres (4 rows) postgres=#
Через консоль PostgreSQL вы можете выполнять различные SQL-запросы. Чтобы выйти из консоли, используйте следующую команду:
\q
Конфигурационный файл PostgreSQL
Файл конфигурации PostgreSQL — это важный файл, в котором можно настроить некоторые параметры, такие как максимальное количество подключений, удалённый доступ, ограниченный доступ, объём оперативной памяти, используемый для службы PostgreSQL, порт, на котором прослушивается служба, и т. д. Файл конфигурации PostgreSQL находится по адресу:
/var/lib/pgsql/data/postgresql.conf
Следующие строки кода являются примерами из файла postgresql.conf:
# - Настройки подключения - #listen_addresses = 'localhost' # какой IP-адрес (ы) прослушивать; #port = 5432 # (изменение требует перезапуска) max_connections = 100 # (изменение требует перезапуска) # - Память - shared_buffers = 128 МБ # минимум 128 КБ # — Куда записывать логи - logging_collector = on log_filename = «postgresql-%a.log» log_rotation_age = 1d
Вот и всё. Вы успешно установили систему баз данных PostgreSQL на AlmaLinux 10 и изучили несколько основных команд.
Если вам понравился этот пост о том, как установить PostgreSQL на AlmaLinux 10, пожалуйста, поделитесь им со своими друзьями или оставьте комментарий ниже.
Редактор: AndreyEx