Облачное хранилище
PostgreSQL сервер Linux с настройкой базы данных через терминал
PostgreSQL сервер в Linux с SQL-консолью, настройкой базы данных, удаленным доступом и резервным копированием.

PostgreSQL — что это и зачем нужен

PostgreSQL — это мощная объектно-реляционная система управления базами данных с открытым исходным кодом. Она используется для хранения, обработки и управления данными в корпоративных системах, веб-приложениях, аналитических сервисах и высоконагруженных проектах.

PostgreSQL ценят за:

  • надежность;
  • соответствие SQL-стандартам;
  • расширяемость;
  • стабильную работу под высокой нагрузкой;
  • встроенные механизмы репликации и резервного копирования.

Сегодня PostgreSQL активно используется как альтернатива коммерческим СУБД благодаря высокой производительности и отсутствию лицензионных ограничений.


Установка PostgreSQL

Установка PostgreSQL в Ubuntu / Debian

Обновляем список пакетов:

sudo apt update

Устанавливаем PostgreSQL:

sudo apt install postgresql postgresql-contrib -y

После установки служба обычно запускается автоматически.

Проверяем статус:

sudo systemctl status postgresql

Установка PostgreSQL в CentOS / Rocky Linux / AlmaLinux

Устанавливаем репозиторий PostgreSQL:

sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm

Отключаем встроенный модуль PostgreSQL:

sudo dnf -qy module disable postgresql

Устанавливаем сервер PostgreSQL:

sudo dnf install -y postgresql16-server

Инициализируем базу:

sudo /usr/pgsql-16/bin/postgresql-16-setup initdb

Запускаем службу:

sudo systemctl enable --now postgresql-16

Подключение к PostgreSQL

По умолчанию PostgreSQL создает системного пользователя postgres.

Подключаемся к консоли PostgreSQL:

sudo -u postgres psql

После входа откроется интерактивная SQL-консоль.

Пример:

SELECT version();

Создание пользователя и базы данных

Создаем нового пользователя:

CREATE USER adminotes WITH PASSWORD 'StrongPassword';

Создаем базу данных:

CREATE DATABASE adminotes_db;

Назначаем владельца базы:

ALTER DATABASE adminotes_db OWNER TO adminotes;

Выдаем привилегии:

GRANT ALL PRIVILEGES ON DATABASE adminotes_db TO adminotes;

Основные команды PostgreSQL

Список баз данных:

\l

Подключение к базе:

\c adminotes_db

Список таблиц:

\dt

Выход из консоли:

\q

Настройка удаленного подключения PostgreSQL

По умолчанию PostgreSQL принимает подключения только локально.

Основные конфигурационные файлы:

/etc/postgresql/16/main/postgresql.conf

и:

/var/lib/pgsql/16/data/pg_hba.conf

Разрешаем прослушивание внешних интерфейсов

Редактируем:

sudo nano /etc/postgresql/16/main/postgresql.conf

Находим параметр:

#listen_addresses = 'localhost'

Меняем на:

listen_addresses = '*'

Настройка правил доступа

Открываем файл:

sudo nano /var/lib/pgsql/16/data/pg_hba.conf

Добавляем строку:

host    all             all             0.0.0.0/0               md5

Перезапуск PostgreSQL

sudo systemctl restart postgresql

или:

sudo systemctl restart postgresql-16

Открытие порта в firewall

Для Firewalld:

sudo firewall-cmd --permanent --add-service=postgresqlsudo firewall-cmd --reload

Для UFW:

sudo ufw allow 5432/tcp

Проверка подключения

Подключение с удаленного сервера:

psql -h SERVER_IP -U adminotes -d adminotes_db

Резервное копирование PostgreSQL

Создание дампа:

pg_dump -U postgres adminotes_db > backup.sql

Восстановление:

psql -U postgres adminotes_db < backup.sql

Для больших проектов лучше использовать:

pg_dumpall

или физические бэкапы через:

pg_basebackup

Полезные рекомендации по PostgreSQL

Используйте сложные пароли

Не оставляйте стандартные учетные записи без защиты. PostgreSQL регулярно становится целью брутфорс-атак после открытия порта 5432 в интернет.

Не открывайте PostgreSQL в интернет без необходимости

Лучше ограничивать доступ через VPN, WireGuard или firewall по IP-адресам.

Следите за логами

Логи PostgreSQL помогают быстро выявлять:

  • ошибки SQL;
  • проблемы производительности;
  • попытки несанкционированного доступа.

Заключение

PostgreSQL — одна из самых надежных и гибких СУБД для Linux-инфраструктуры. Даже базовой настройки достаточно для запуска корпоративных сервисов, веб-приложений и внутренних систем автоматизации.

При грамотной настройке PostgreSQL стабильно работает под высокой нагрузкой, поддерживает масштабирование и предоставляет мощные инструменты резервного копирования и восстановления.


FAQ

Как узнать версию PostgreSQL?

SELECT version();

Где находятся конфигурационные файлы PostgreSQL?

Чаще всего:

/etc/postgresql/

или:

/var/lib/pgsql/

Как изменить пароль пользователя PostgreSQL?

ALTER USER adminotes WITH PASSWORD 'NewStrongPassword';

Как посмотреть активные подключения?

SELECT * FROM pg_stat_activity;
Облачное хранилище

Добавить комментарий