Preciso de uma alternativa para executar o seguinte comando:
C:\xxx\pgsql\bin\pg_ctl" -D "C:\xxx\pgsql\data" -l "C:\yyy\log\pgsql.log" start
.
Dessa forma, o servidor inicia e faz logon no C:\yyy\log\pgsql.log
. Porém, quando tento registrar o servidor como um serviço - não há opções de log disponíveis e o servidor faz logon no Visualizador de Eventos. Da documentação pg_ctl:
pg_ctl register [-N servicename] [-U nome de usuário] [-P password] [-D datadir] [-S a [uto] | d [emand]] [-w] [-t segundos] [-s] [-o opções]
Como forçar o servidor a fazer login em um arquivo? Nota: Não quero usar o instalador com um clique, só quero trabalhar com binários descompactados.
postgresql
windows
log
Vic
fonte
fonte
log_statement
paralog_statement = 'all'
Respostas:
Localize o seu
postgresql.conf
no datadirEncontre a seção que se parece com isso
simplesmente remova o comentário e use esses parâmetros. Em seguida, reinicie o serviço postgres,
Como você está executando o postgresql no Windows, é possível que você não tenha permissão para editar
postgresql.conf
enquanto o serviço estiver ativo. Se esse é o caso:postgresql.conf
De uma chance !!!
fonte
stderr, csvlog, syslog, eventlog
lá. Eu tive que mudar as seguintes propriedades em vez disso:logging_collector = on, log_directory = ..., log_filename=...
. Se você editar sua resposta, eu a aceito.