Saya perlu alternatif untuk menjalankan perintah berikut:
C:\xxx\pgsql\bin\pg_ctl" -D "C:\xxx\pgsql\data" -l "C:\yyy\log\pgsql.log" start
.
Dengan cara ini server mulai dan masuk C:\yyy\log\pgsql.log
. Ketika saya mencoba mendaftarkan server sebagai layanan - tidak ada opsi logging tersedia dan server log ke Event Viewer. Dari dokumentasi pg_ctl:
pg_ctl daftar [-N servicename] [-U username] [-P password] [-D datadir] [-S a [uto] | d [emand]] [-w] [-t detik] [-s] [-o opsi]
Bagaimana saya bisa memaksa server untuk masuk ke file? Catatan: Saya tidak ingin menggunakan penginstal satu klik, saya hanya ingin bekerja dengan binari yang tidak di-zip.
postgresql
windows
log
Vic
sumber
sumber
log_statement
tolog_statement = 'all'
Jawaban:
Temukan lokasi Anda
postgresql.conf
di datadirTemukan bagian yang terlihat seperti ini
cukup batalkan komentar dan gunakan parameter ini. Kemudian, restart layanan postgres,
Karena Anda menjalankan postgresql di Windows, ada kemungkinan bahwa Anda mungkin tidak diizinkan untuk mengedit
postgresql.conf
saat layanan ini berjalan. Jika itu masalahnya:postgresql.conf
Cobalah !!!
sumber
stderr, csvlog, syslog, eventlog
sana. Aku harus mengubah sifat-sifat berikut ini sebagai gantinya:logging_collector = on, log_directory = ..., log_filename=...
. Jika Anda mengedit jawaban Anda, saya akan menerimanya.