Мне нужна альтернатива для запуска следующей команды:
C:\xxx\pgsql\bin\pg_ctl" -D "C:\xxx\pgsql\data" -l "C:\yyy\log\pgsql.log" start
,
Таким образом, сервер запускается и входит в систему C:\yyy\log\pgsql.log
. Когда я пытаюсь зарегистрировать сервер в качестве службы, опции логирования недоступны, и сервер регистрирует в Event Viewer. Из документации pg_ctl:
pg_ctl register [-N имя_службы] [-U имя пользователя] [-P пароль] [-D datadir] [-S a [uto] | d [emand]] [-w] [-t секунд] [-s] [-o опции]
Как я могу заставить сервер войти в файл? Примечание: я не хочу использовать установщик одним щелчком, я просто хочу работать с разархивированными двоичными файлами.
postgresql
windows
log
Vic
источник
источник
log_statement
вlog_statement = 'all'
Ответы:
Найдите свой
postgresql.conf
в датадирНайдите раздел, который выглядит следующим образом
просто раскомментируйте и используйте эти параметры. Затем перезапустите службу postgres,
Так как вы запускаете postgresql в Windows, возможно, вам не разрешат редактировать,
postgresql.conf
пока сервис работает. Если это так:postgresql.conf
Попробуйте!
источник
stderr, csvlog, syslog, eventlog
там. Я должен был изменить следующие свойства вместо:logging_collector = on, log_directory = ..., log_filename=...
. Если вы отредактируете свой ответ, я приму его.