Путь к основному конфигурационному файлу postgresql.conf не фиксирован и зависит от способа установки. Самый надежный способ узнать его – спросить у работающего сервера, а не искать по диску: PostgreSQL хранит фактические пути ко всем конфигурационным файлам во внутренних параметрах.
Как определить путь
- Запросите пути прямо из базы – значения указывают на активные файлы, которые сейчас использует сервер:
SHOW config_file; SHOW hba_file; SHOW data_directory;
- config_file – путь к postgresql.conf, hba_file – к pg_hba.conf(правила аутентификации). Оба обычно лежат в каталоге данных, но в ряде дистрибутивов вынесены отдельно.
Типовое расположение
В сборках Debian и Ubuntu конфиг вынесен в /etc/postgresql/<версия>/<кластер>/postgresql.conf. В сборках на базе RHEL и при установке из исходников он находится в каталоге данных – например, /var/lib/pgsql/<версия>/data/postgresql.conf. В Windows это подкаталог data каталога установки, обычно C:\Program Files\PostgreSQL\<версия>\data.
Дополнительные файлы конфигурации
Часть настроек может быть вынесена в отдельные файлы через директиву include, а параметры, измененные командой ALTER SYSTEM, пишутся не в postgresql.conf, а в postgresql.auto.conf в каталоге данных. Проверить, откуда пришло конкретное значение, можно через представление pg_settings (столбец sourcefile).