Как проверить синтаксис конфигурационных файлов PostgreSQL?

Я часто редактирую файл pg_hda.conf, и мне просто интересно, есть ли способ убедиться, что то, что я только что написал, является правильным.

До сих пор я использую тестовый сервер для проверки моих изменений.

Как и Apache имеет команду apache2ctl -t, имеет ли Postgres что-то подобное?

Ответы

Ответ 1

Невозможно сделать это, аналогичное apache2ctl. Если вы перезагрузите файлы конфигурации и появится синтаксическая ошибка, сервер PostgreSQL будет жаловаться в журнале и отказываться от загрузки нового файла. Таким образом, очень мало шансов что-то испортить, создав опечатку синтаксиса. (Конечно, это не защитит вас от написания семантически неправильных вещей, но apache2ctl тоже этого не сделает.) Кроме этого, вероятно, неплохо проверить изменения на тестовом сервере и иметь систему который контролирует эти изменения в производстве.

Ответ 2

см.: https://dba.stackexchange.com/a/151457/177071

у вас есть другой подход для проверки правильности файла конфигурации.

в командной строке введите select pg_reload_conf();

postgres=# select pg_reload_conf();
 pg_reload_conf
----------------
 t
(1 row)

Это означает, что ваш файл правильный. иначе это не получится.