PostgreSQL, или Postgres, – это бесплатная объектно-реляционная система управления базами данных с открытым исходным кодом для хранения данных. PostgreSQL – это мощная СУБД с различными функциями, такими как транзакции с атомарностью, согласованность, изоляция, долговечность, автоматическое обновление и т. д. Она совместима со многими операционными системами, такими как Windows, MacOS, FreeBSD и Linux. В следующих параграфах мы покажем вам, как установить систему управления базами данных PostgreSQL, управлять сервисом и использовать некоторые основные команды.
Установка PostgreSQL на AlmaLinux проста и может занять не более 10 минут. Давайте приступим!
Необходимые условия
- Сервер под управлением AlmaLinux 10 или любой другой ОС Linux.
- Привилегии пользователя: root или не 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 и убедиться, что PostgreSQL был успешно установлен. Для этого выполните следующую команду:
postgres --version
Вы должны получить следующий результат:
postgres --version postgres (PostgreSQL) 16.4
Управление службой PostgreSQL
После успешной установки, чтобы запустить и включить PostgreSQL для автоматического запуска при загрузке системы, выполните следующую команду:
sudo systemctl start postgresql && sudo systemctl enable postgresql
Чтобы проверить состояние службы, можно воспользоваться следующей командой:
sudo systemctl status postgresql
Если все в порядке, вы получите вывод, подобный этому:
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
Поскольку с помощью предыдущей команды status мы уже знаем, что 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:
- Connection Settings - #listen_addresses = 'localhost' # what IP address(es) to listen on; #port = 5432 # (change requires restart) max_connections = 100 # (change requires restart) - Memory - shared_buffers = 128MB # min 128kB - Where to Log logging_collector = on log_filename = 'postgresql-%a.log' log_rotation_age = 1d
Вот и все. Вы успешно установили систему баз данных PostgreSQL на AlmaLinux 10 и научились некоторым основным командам.




Комментарии (0)