J'ai besoin d'une alternative pour exécuter la commande suivante:
C:\xxx\pgsql\bin\pg_ctl" -D "C:\xxx\pgsql\data" -l "C:\yyy\log\pgsql.log" start
.
De cette façon, le serveur démarre et se connecte à C:\yyy\log\pgsql.log
. Lorsque j'essaie d'enregistrer le serveur en tant que service, aucune option de journalisation n'est disponible et le serveur se connecte à l'Observateur d'événements. De la documentation de pg_ctl:
pg_ctl register [-N servicename] [-U username] [-P password] [-D datadir] [-S a [uto] | d [emand]] [-w] [-t secondes] [-s] [-o options]
Comment forcer le serveur à se connecter à un fichier? Remarque: je ne veux pas utiliser le programme d'installation en un clic, je veux juste travailler avec des fichiers binaires décompressés.
log_statement
tolog_statement = 'all'
Réponses:
Localisez votre
postgresql.conf
dans le datadirTrouvez la section qui ressemble à ceci
décommentez simplement et utilisez ces paramètres. Ensuite, redémarrez le service postgres,
Étant donné que vous exécutez postgresql dans Windows, il est possible que vous ne soyez pas autorisé à modifier
postgresql.conf
pendant que le service est en cours. Si c'est le cas:postgresql.conf
Essaie !!!
la source
stderr, csvlog, syslog, eventlog
. Je devais changer les propriétés suivantes au lieu:logging_collector = on, log_directory = ..., log_filename=...
. Si vous modifiez votre réponse, je l'accepterai.