Ich benötige eine Alternative, um den folgenden Befehl auszuführen:
C:\xxx\pgsql\bin\pg_ctl" -D "C:\xxx\pgsql\data" -l "C:\yyy\log\pgsql.log" start
.
Auf diese Weise startet der Server und meldet sich an C:\yyy\log\pgsql.log
. Wenn ich jedoch versuche, den Server als Dienst zu registrieren, sind keine Protokollierungsoptionen verfügbar, und der Server meldet sich bei der Ereignisanzeige an. Aus der pg_ctl-Dokumentation:
pg_ctl register [-N Servicename] [-U Benutzername] [-P Passwort] [-D Datadir] [-S a [uto] | d [emand]] [-w] [-t Sekunden] [-s] [-o Optionen]
Wie kann ich den Server zwingen, sich bei einer Datei anzumelden? Hinweis: Ich möchte kein Ein-Klick-Installationsprogramm verwenden, sondern nur mit entpackten Binärdateien arbeiten.
postgresql
windows
log
Vic
quelle
quelle
log_statement
tolog_statement = 'all'
Antworten:
postgresql.conf
Suchen Sie Ihre im DatenverzeichnisSuchen Sie den Abschnitt, der so aussieht
einfach auskommentieren und diese Parameter verwenden. Starten Sie dann den Postgres-Dienst neu.
Da Sie postgresql unter Windows ausführen, ist es möglich, dass Sie nicht bearbeiten dürfen,
postgresql.conf
während der Dienst aktiv ist. Wenn das der Fall ist:postgresql.conf
Versuche es !!!
quelle
stderr, csvlog, syslog, eventlog
. Ich musste stattdessen die folgenden Eigenschaften ändern :logging_collector = on, log_directory = ..., log_filename=...
. Wenn Sie Ihre Antwort bearbeiten, werde ich sie akzeptieren.