Изменение настроек базы данных PostgreSQL в ServBay
ServBay предоставляет разработчикам на macOS мощную локальную веб-среду, включающую интегрированную базу данных PostgreSQL. В этом руководстве подробно описано, как изменять конфигурацию PostgreSQL в ServBay: через рекомендуемый графический интерфейс и временно — вручную через файлы настроек.
В зависимости от установленной версии PostgreSQL, основные конфигурационные файлы обычно расположены по адресу /Applications/ServBay/etc/postgresql/<version>
. Например, для PostgreSQL 16 путь к конфигу будет /Applications/ServBay/etc/postgresql/16
.
Важная информация
В ServBay большинство настроек управляются через графический пользовательский интерфейс (UI), который автоматически создает соответствующие конфигурационные файлы. Настоятельно рекомендуется изменять настройки через UI ServBay. Ручное редактирование файлов может привести к перезаписи ваших изменений при следующем обновлении или управлении через ServBay. Ручное редактирование предназначено только для временных тестов или опытных пользователей и не рекомендуется для постоянной или production-конфигурации.
Изменение настроек через интерфейс ServBay (рекомендуется)
ServBay предлагает удобный и интуитивный графический интерфейс: это самый простой и рекомендуемый способ изменить настройки PostgreSQL. Изменения, внесённые в UI, обычно применяются автоматически и мгновенно, без необходимости вручную перезапускать сервис (за исключением случаев, когда ServBay укажет на это).
Шаги изменения
- Откройте приложение ServBay.
- В левой панели навигации выберите
Базы данных
. - В списке баз данных найдите
PostgreSQL
и кликните на нужную версию. - После перехода на экран настроек PostgreSQL вы увидите детальную информацию и конфигурируемые параметры.
Основные параметры
На этой странице, как правило, отображаются имя пользователя и пароль PostgreSQL по умолчанию, выбранные ServBay (обычно прямо на этом экране). Здесь же можно изменить распространённые параметры:
- Адрес для прослушивания (
listen_addresses
): Определяет, на каких сетевых интерфейсах PostgreSQL будет принимать соединения. По умолчанию*
— все интерфейсы. - Порт (
port
): Сетевой порт, который использует PostgreSQL. По умолчанию —5432
(обратите внимание, это отличается от 3306 у MySQL/MariaDB). - Максимальное число соединений (
max_connections
): Ограничивает количество одновременных подключений к базе данных. - Рабочая память (
work_mem
): Определяет объём памяти для каждого процесса запроса при выполнении операций сортировки и хеш-таблиц.
Дополнительно, в разделе Additional Parameters
можно добавить или изменить недоступные напрямую параметры из postgresql.conf
. Указывайте по одному параметру на строке в формате параметр = значение
.
Применение изменений
После внесения изменений нажмите кнопку Сохранить
внизу страницы. ServBay применит новые настройки автоматически. Для большинства параметров изменения вступают в силу сразу; в редких случаях потребуется перезапуск сервиса PostgreSQL, об этом будет соответствующее уведомление в ServBay.
Ручное редактирование конфигурационных файлов (не рекомендуется для постоянных настроек)
Как уже говорилось, ручное изменение файлов конфигурации не рекомендуется для постоянных настроек — UI ServBay может их перезаписать. Однако знание структуры и расположения файлов полезно для понимания низкоуровневой конфигурации PostgreSQL.
WARNING
Ручное редактирование файлов предназначено только для временного дебага или глубокой диагностики. ServBay настоятельно рекомендует использовать UI для внесения изменений, чтобы сохранить постоянство и корректность настроек. Путь к файлам и их содержимое могут быть сброшены внутренними механизмами ServBay.
Где находятся файлы конфигурации
Основные конфигурационные файлы PostgreSQL в ServBay — это postgresql.conf
и pg_hba.conf
. Их расположение зависит от версии PostgreSQL, обычно:
postgresql.conf
:/Applications/ServBay/etc/postgresql/<version>/postgresql.conf
pg_hba.conf
:/Applications/ServBay/etc/postgresql/<version>/pg_hba.conf
Обратите внимание: путь вроде /db/postgresql/16/pg_hba.conf
мог использоваться во внутренних процессах ServBay или старых версиях, но сейчас UI ServBay управляет файлами по адресу /Applications/ServBay/etc
. Перед ручным редактированием удостоверьтесь, какой из путей актуален. Для совместимости с UI ориентируйтесь на /Applications/ServBay/etc/postgresql/<version>
как на приоритетное место хранения конфигов.
Примеры распространённых параметров
Ниже представлены часто используемые параметры в postgresql.conf
и pg_hba.conf
. Для редактирования используйте текстовый редактор с правами администратора (например, VS Code, Sublime Text, Nano и др.).
postgresql.conf
postgresql.conf
— основной конфигурационный файл сервера PostgreSQL, отвечающий почти за все режимы его работы.
# Адреса для прослушивания: интерфейсы, на которых сервер будет принимать соединения. '*' — все интерфейсы.
listen_addresses = '*'
# Порт: сетевой порт, который слушает сервер. Стандартный порт для PostgreSQL — 5432.
port = 5432
# Максимальное число подключений: сколько клиентов может подключиться одновременно.
max_connections = 100
# Размер общей памяти для буферизации: выделяется для кеширования данных PostgreSQL.
shared_buffers = 128MB
# Каталог для логов: путь к папке, где будут храниться журналы работы сервера.
log_directory = 'log'
# Формат имени лог-файла: определяет шаблон имени создаваемых логов.
log_filename = 'postgresql-%Y-%m-%d.log'
# Включить лог медленных запросов: записывает в лог запросы, выполнение которых превышает указанный порог.
# Укажите положительное число (например, 2000 = логировать запросы дольше 2 секунд).
# Значение -1 отключает лог медленных запросов.
log_min_duration_statement = 2000
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
pg_hba.conf
Файл pg_hba.conf
(Host-Based Authentication) задаёт методы аутентификации клиентов и их доступ.
# TYPE DATABASE USER ADDRESS METHOD
# Разрешить локальные соединения по Unix socket без пароля (trust).
# "local" is for Unix domain socket connections only
local all all trust
# Разрешить всем IPv4-адресам подключаться по TCP/IP с использованием пароля (md5).
# IPv4 local connections:
host all all 0.0.0.0/0 md5
# Разрешить подключения из определённой подсети (например, 192.168.1.0/24) с использованием md5.
# IPv4 local connections from a specific subnet:
# host all all 192.168.1.0/24 md5
2
3
4
5
6
7
8
9
10
11
12
13
Редактируя pg_hba.conf
, обязательно понимайте назначение каждой колонки (TYPE
, DATABASE
, USER
, ADDRESS
, METHOD
) — ошибки в этих строках могут заблокировать доступ к базе или создать угрозу безопасности.
Применение ручных изменений
После ручного обновления файлов необходимо перезапустить сервис PostgreSQL, чтобы изменения вступили в силу.
Перезапуск через интерфейс ServBay
- Откройте интерфейс управления ServBay.
- В левой навигационной панели выберите
Базы данных
. - Найдите
PostgreSQL
и выберите нужную версию. - На этой странице или в разделе “Пакеты”/“Сервисы” главного окна отыщите PostgreSQL и нажмите
Перезапустить
.
Перезапуск через консольный инструмент servbayctl
С помощью CLI-утилиты ServBay — servbayctl
— можно быстро управлять сервисами, включая перезапуск PostgreSQL:
servbayctl restart postgresql <version>
Замените <version>
на требуемую версию PostgreSQL, например, 16
.
Заключение
ServBay предоставляет удобный UI для изменения настроек PostgreSQL — это самый безопасный и предпочтительный способ, позволяющий избежать риска перезаписи ручных изменений. Через интерфейс вы можете настраивать адреса прослушивания, порт, максимальное число соединений и просматривать дефолтные креденшлы базы. Для задач временного дебага основные конфиги postgresql.conf
и pg_hba.conf
находятся по пути /Applications/ServBay/etc/postgresql/<version>
. Какой бы способ вы ни выбрали, чтобы изменения вступили в силу, перезапустите сервис PostgreSQL через UI или команду servbayctl
.
Понимание этих настроек и способов их редактирования поможет вам гибко организовать рабочее окружение PostgreSQL в ServBay под нужные задачи разработки.