PostgreSQL Windows hizmetinde bir dosyaya giriş yapma


11

Aşağıdaki komutu çalıştırmak için bir alternatif gerekir:

C:\xxx\pgsql\bin\pg_ctl" -D "C:\xxx\pgsql\data" -l "C:\yyy\log\pgsql.log" start.

Bu şekilde sunucu başlatılır ve oturum açılır C:\yyy\log\pgsql.log. Sunucuyu bir hizmet olarak kaydetmeye çalıştığımda - hiçbir günlük seçeneği yok ve sunucu Olay Görüntüleyicisi'nde oturum açıyor. Pg_ctl dokümanlarından:

pg_ctl kaydı [-N hizmetadı] [-U kullanıcı adı] [-P şifresi] [-D datadir] [-S a [uto] | d [emand]] [-w] [-t saniye] [-s] [-o seçenekler]

Sunucuyu bir dosyada oturum açmaya nasıl zorlayabilirim? Not: Tek tıklamayla yükleyici kullanmak istemiyorum, sadece sıkıştırılmamış ikili dosyalarla çalışmak istiyorum.


Etkinleştirdiğinizden emin olun log_statementetmeklog_statement = 'all'
Chris

Yanıtlar:


13

postgresql.confVeri dizininde konumunuzu bulun

Buna benzeyen bölümü bulun

#------------------------------------------------------------------------------
# ERROR REPORTING AND LOGGING
#------------------------------------------------------------------------------

# - Where to Log -

#log_destination = 'stderr'             # Valid values are combinations of
                                        # stderr, csvlog, syslog and eventlog,
                                        # depending on platform.  csvlog
                                        # requires logging_collector to be on.

# This is used when logging to stderr:
#logging_collector = off                # Enable capturing of stderr and csvlog
                                        # into log files. Required to be on for
                                        # csvlogs.
                                        # (change requires restart)

# These are only used if logging_collector is on:
#log_directory = 'pg_log'               # directory where log files are written,
                                        # can be absolute or relative to PGDATA
#log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'        # log file name pattern,
                                        # can include strftime() escapes
#log_truncate_on_rotation = off         # If on, an existing log file of the
                                        # same name as the new log file will be
                                        # truncated rather than appended to.
                                        # But such truncation only occurs on
                                        # time-driven rotation, not on restarts
                                        # or size-driven rotation.  Default is
                                        # off, meaning append to existing files
                                        # in all cases.
log_rotation_age = 7d                   # Automatic rotation of logfiles will
                                        # happen after that time.  0 disables.
#log_rotation_size = 10MB               # Automatic rotation of logfiles will
                                        # happen after that much log output.
                                        # 0 disables.

sadece bu parametreleri kullanın ve kullanın. Ardından, postgres hizmetini yeniden başlatın,

Windows'ta postgresql çalıştırdığınız için postgresql.conf, hizmet açıkken düzenlemenize izin verilmeyebilir . Eğer durum buysa:

  • postgres hizmetini kapat
  • Düzenle postgresql.conf
  • postgres hizmetini başlat

Bir şans ver !!!


Beni doğru yöne yönlendirdiğiniz için teşekkürler, Rolando, ama cevabınız doğru değil ... Yapılandırma dosyasını teklif ettiğinizde, sadece stderr, csvlog, syslog, eventlogorada olabilirsiniz. Bunun yerine aşağıdaki özellikleri değiştirmek zorunda: logging_collector = on, log_directory = ..., log_filename=.... Cevabınızı düzenlerseniz kabul edeceğim.
Vic

1
Hey Vic, teşekkürler. PostgreSQL'de acemi oldum ve bunun için küçük destek sağlıyorum. Ben sadece eski bir ülkeyim MySQL DBA.
RolandoMySQLDBA

1
log_directory = 'C: / Kullanıcılar / Peter / Belgeler / jonbloe / system / logs' benim için çalıştı. Ancak Windows '\' 'u bir kaçış olarak çalıştığı ve günlüklerin bir klasörde sonlandığı gibi kullanmayın PGDATA / UsersPeterDocumentsjonbloesystemlogs
peter2108 23:30
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.