Подключение PostgreSQL
Эта инструкция описывает установку PostgreSQL 18 на сервер с Debian 12, подключение сервера базы данных к FASTPANEL, включение поддержки PostgreSQL в PHP 8.4 и создание отдельных баз для iEXExchanger.
Инструкция подходит для двух сценариев:
первоначальная установка iEXExchanger на новый сервер;
подготовка PostgreSQL перед переносом существующего проекта.
В обоих случаях PostgreSQL устанавливается и подключается одинаково. Первоначальная установка системы и перенос данных выполняются по отдельным инструкциям.
Что будет настроено
После выполнения инструкции:
PostgreSQL 18 будет установлен на сервер;
будет создан локальный кластер
18/main;PostgreSQL будет принимать только локальные подключения;
FASTPANEL получит административную роль
fastuser;PostgreSQL появится в списке серверов баз данных FASTPANEL;
в PHP 8.4 будут включены модули
pdo_pgsqlиpgsql;для Backend будет создана отдельная база;
для Laravel Pulse при необходимости будет создана база
pulse_pg;для каждой базы будет создан отдельный пользователь;
подключение будет проверено через
psql.
PostgreSQL поддерживает Debian 12 Bookworm через официальный PGDG-репозиторий, из которого можно установить пакет postgresql-18. Официальная инструкция PostgreSQL для Debian
На момент подготовки документа в разделе приложений FASTPANEL доступны версии PostgreSQL до 17. Поэтому PostgreSQL 18 устанавливается отдельным скриптом, после чего подключается к панели как локальный сервер баз данных. Список приложений FASTPANEL
Перед началом
Убедитесь, что выполнены следующие условия:
используется Debian 12 Bookworm;
FASTPANEL установлена и работает;
PHP 8.4 установлен через FASTPANEL;
Backend iEXExchanger загружен на сервер;
у вас есть доступ к серверу по SSH;
доступен пользователь
root;сервер может подключаться к
apt.postgresql.org;в папке
scriptsBackend-проекта находится установщик PostgreSQL.
Файл установщика:
Важные ограничения
При настройке соблюдайте следующие правила:
не устанавливайте PostgreSQL 17 через раздел «Приложения»;
не открывайте порт PostgreSQL в публичном firewall;
не используйте пароль Linux-пользователя
rootв настройках PostgreSQL;не используйте административную роль
fastuserв iEXExchanger;не назначайте PostgreSQL сервером баз данных по умолчанию в FASTPANEL;
используйте отдельного пользователя для каждой базы;
храните пароли баз данных в защищённом месте.
Подключение к серверу
Подключитесь к серверу от имени пользователя root:
Вместо SERVER_IP укажите IP-адрес сервера.
Переход в Backend-проект
Перейдите в корневую директорию Backend, где находится файл artisan.
Пример:
Например:
Проверьте наличие установщика:
Если файл отображается, можно продолжать установку.
При необходимости установите право на выполнение:
Установка PostgreSQL 18
Находясь в корневой директории Backend, запустите:
Скрипт автоматически:
проверит версию операционной системы;
проверит запуск от
root;проверит состояние
aptиdpkg;подключит официальный PGDG-репозиторий;
установит
postgresql-18;установит
postgresql-client-18;создаст или обнаружит кластер
18/main;настроит кодировку
UTF8;включит контрольные суммы данных;
настроит SCRAM-аутентификацию;
ограничит подключения адресами
127.0.0.1и::1;создаст административную роль
fastuser;сгенерирует пароль для
fastuser;проверит основные возможности PostgreSQL;
удалит созданную для проверки тестовую базу;
сохранит реквизиты в защищённый файл;
выведет параметры подключения для FASTPANEL.
При стандартной установке PostgreSQL будет работать со следующими параметрами:
Если на сервере уже работает другой кластер PostgreSQL, порт может отличаться. Используйте значение, которое покажет установщик.
Результат выполнения установщика
После успешного завершения появится блок примерно следующего вида:
Реквизиты сохраняются в файле:
Посмотреть содержимое можно только от пользователя root:
Ожидаемый формат:
Файл защищён следующими правами:
Не копируйте его:
в директорию сайта;
в публичную папку;
в Git-репозиторий;
в общедоступное облачное хранилище;
в переписку с сотрудниками.
Проверка PostgreSQL
Проверьте установленную версию:
Проверьте версию утилиты резервного копирования:
Проверьте состояние кластеров:
Проверьте системную службу:
Проверьте готовность принимать подключения:
Ожидаемый результат:
Если установщик показал другой порт, используйте его вместо 5432.
Проверка сетевой доступности
PostgreSQL должен принимать подключения только внутри сервера.
Выполните:
Нормальный результат содержит локальные адреса:
Если отображается:
или публичный IP сервера, не продолжайте настройку. Сначала закройте внешний доступ.
Важно. Для локального размещения iEXExchanger порт PostgreSQL не нужно открывать в интернете.
Повторная проверка установщиком
Для проверки текущей конфигурации без изменения настроек выполните из корневой директории Backend:
Команда проверяет:
версию PostgreSQL;
кластер;
локальное подключение;
административную роль;
доступность необходимых компонентов;
PHP-модули, если они уже включены.
Обычная проверка не меняет пароль fastuser.
Смена пароля fastuser
Для принудительной смены пароля выполните:
После смены обязательно обновите пароль в настройках сервера баз данных FASTPANEL.
Если в FASTPANEL останется старый пароль, сервер получит статус «Недоступен».
Включение PostgreSQL в PHP 8.4
Для подключения iEXExchanger к PostgreSQL необходимо включить соответствующие PHP-модули.
FASTPANEL позволяет управлять модулями отдельно для каждой установленной версии PHP. Настройка PHP и модулей в FASTPANEL
Добавление PostgreSQL 18 в FASTPANEL
FASTPANEL умеет управлять локальными и внешними серверами баз данных. После подключения PostgreSQL можно выбирать при создании новых баз. Управление серверами баз данных FASTPANEL
Где находится раздел
В FASTPANEL откройте: «Управление» — «Базы данных»
Затем откройте: «Серверы баз данных»

Нажмите: «Добавить сервер»

Страница может иметь следующий адрес:
Заполнение формы
Укажите:
Имя
PostgreSQL 18 local
Использовать сервер по умолчанию
Нет
Тип сервера
PostgreSQL
Тип подключения
Локальное
Имя пользователя
fastuser
Пароль
Пароль из файла реквизитов
Хост
Оставить автоматическим
Порт
Оставить 0 или автоматическим
Нажмите «Сохранить».
Почему сервер не нужно выбирать по умолчанию
PostgreSQL 18 подключается как отдельный сервер баз данных для конкретных проектов.
Используйте значение:
При создании базы выбирайте PostgreSQL 18 local вручную.
Проверка сервера в FASTPANEL
Вернитесь в раздел: «Управление» — «Базы данных»
Откройте: «Серверы баз данных»

У добавленной записи должно отображаться:
Не создавайте базы, пока сервер не получил статус «Доступен».
Проверка через CLI
Выполните:
В списке должна присутствовать запись с признаками:
FASTPANEL поддерживает просмотр серверов и синхронизацию списка баз через mogwai. Команды управления базами FASTPANEL
При необходимости выполните:
Какие пользователи используются
При подключении важно не перепутать разные учётные записи.
fastuser
Административная роль PostgreSQL для FASTPANEL
example_com_usr
Владелец Backend-сайта в FASTPANEL и Linux
app_example_com_pg
Пользователь основной базы iEXExchanger
pulse_pg
Пользователь базы Laravel Pulse
Создание основной базы
FASTPANEL позволяет создать базу, назначить владельца, связать её с сайтом и выбрать сервер. Создание базы данных в FASTPANEL
Где находится раздел
В FASTPANEL откройте: «Сайты»
Выберите Backend-сайт:
Откройте раздел:«Базы данных»

Нажмите:«Новая база данных»

Заполнение формы
Пример для сайта app.example.com:
Имя
app_example_com_pg
Кодировка
utf8
Владелец
Владелец Backend-сайта, например example_com_usr
Сервер
PostgreSQL 18 local
Пользователь
Создать нового пользователя
Логин
app_example_com_pg
Пароль
Отдельный надёжный пароль
Повторите пароль
Тот же пароль

Нажмите «Сохранить».
Требования к имени
Используйте:
строчные латинские буквы;
цифры;
символ
_.
Пример:
Не используйте:
пробелы;
дефисы;
кириллицу;
специальные символы.
Кодировка
В FASTPANEL выберите:
В PostgreSQL она отображается как:
MySQL-кодировка:
для PostgreSQL не используется.
Пароль пользователя
Создайте отдельный случайный пароль.
Он не должен совпадать с паролями:
root;FASTPANEL;
fastuser;владельца сайта;
административной панели iEXExchanger.
Сохраните пароль в защищённом менеджере.
Создание базы Laravel Pulse
Если проект использует Laravel Pulse, создайте отдельную базу.
В карточке Backend-сайта снова нажмите: «Новая база данных»
Заполните форму:
Имя
pulse_pg
Кодировка
utf8
Владелец
Владелец Backend-сайта
Сервер
PostgreSQL 18 local
Пользователь
Создать нового пользователя
Логин
pulse_pg
Пароль
Отдельный надёжный пароль
Повторите пароль
Тот же пароль
Для основной базы и Pulse используйте разные пароли.
После создания должны существовать:
Если Laravel Pulse не используется, базу pulse_pg создавать не нужно.
Проверка основной базы
Подключитесь через psql:
Введите пароль пользователя базы.
После подключения выполните:
Ожидаемый результат:
Для выхода выполните:
Проверка базы Pulse
Подключитесь:
После подключения выполните:
Ожидается:
Для выхода:
Проверка новых баз
Сразу после создания базы не содержат таблиц.
Для основной базы выполните:
Ожидаемый результат:
Для Pulse:
Ожидается:
Это подтверждает, что базы успешно созданы и готовы к следующему этапу установки или переноса.
Параметры подключения основной базы
Сохраните следующие данные:
Для новой установки эти данные используются при настройке Backend.
При переносе существующего проекта они потребуются на отдельном этапе миграции.
Пример параметров:
Не применяйте этот блок к работающему проекту до перехода на PostgreSQL.
Параметры подключения Pulse
Пример:
Параметры применяются на соответствующем этапе установки или переноса проекта.
Что делать дальше
После успешного подключения выберите подходящую инструкцию:
для нового проекта — продолжите первоначальную установку iEXExchanger;
для существующего проекта — перейдите к отдельной инструкции по переносу базы данных.
Эта статья завершается проверкой подключения. Создание структуры таблиц и перенос данных выполняются на следующем этапе.
Частые ошибки
FASTPANEL не подключается к PostgreSQL
Проверьте:
В форме используется пользователь
fastuser.Введён пароль из файла:
Выбран тип сервера PostgreSQL.
Выбрано локальное подключение.
Хост и порт оставлены автоматическими.
PostgreSQL работает:
Установщик успешно проходит проверку:
Если пароль fastuser изменён, внесите новое значение в FASTPANEL.
Сервер имеет статус «Недоступен»
Проверьте:
Также проверьте пароль fastuser и фактический порт кластера.
PHP показывает could not find driver
Причина — модуль pdo_pgsql не включён в PHP 8.4.
Проверьте:
Убедитесь, что Backend-сайт назначен на PHP 8.4.
Пользователь уже существует
Удаление базы не всегда удаляет PostgreSQL-пользователя.
Используйте другой уникальный логин или удалите старого пользователя через FASTPANEL, если уверены, что он больше нигде не используется.
Не выполняйте DROP ROLE вручную, пока не проверите принадлежность объектов.
Не удаётся подключиться через psql
Проверьте:
имя базы;
имя пользователя;
пароль;
порт;
состояние PostgreSQL;
отсутствие лишних пробелов в реквизитах.
Имя базы и имя пользователя могут совпадать, но являются разными объектами PostgreSQL.
Проверка результата
После выполнения инструкции должно быть подтверждено:
PostgreSQL 18 установлен.
Кластер
18/mainработает.PostgreSQL принимает локальные подключения.
Публичный доступ к порту отсутствует.
PHP 8.4 видит драйвер
pgsql.FASTPANEL показывает PostgreSQL как доступный сервер.
Создана основная база.
Для основной базы создан отдельный пользователь.
При необходимости создана база
pulse_pg.Для Pulse создан пользователь
pulse_pg.Подключение к базам через
psqlработает.Реквизиты сохранены для следующего этапа.
Контрольный список
Коротко
PostgreSQL 18 устанавливается из официального PGDG-репозитория и подключается к FASTPANEL как отдельный локальный сервер баз данных.
FASTPANEL использует административную роль fastuser. Для iEXExchanger создаётся отдельная основная база и пользователь, а для Laravel Pulse — база и пользователь pulse_pg.
После проверки подключения новые проекты могут продолжить стандартную установку iEXExchanger. Для существующих проектов следующим этапом выполняется перенос базы данных по отдельной инструкции.
Последнее обновление
Это было полезно?
