Как проверить синтаксис конфигурационных файлов 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)
Это означает, что ваш файл правильный. иначе это не получится.