Modificare il /etc/postgresql/9.3/main/postgresql.conf
, e modificare le linee come segue.
Nota: Se non avete trovato il file postgresql.conf
, quindi basta digitare in un terminale $locate postgresql.conf
#log_directory = 'pg_log'
alog_directory = 'pg_log'
#log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'
alog_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'
#log_statement = 'none'
alog_statement = 'all'
#logging_collector = off
alogging_collector = on
opzionale: SELECT set_config('log_statement', 'all', true);
sudo /etc/init.d/postgresql restart
osudo service postgresql restart
interrogazione Fuoco in PostgreSQL select 2+2
Trova registro corrente in /var/lib/pgsql/9.2/data/pg_log/
I file di log tendono a crescere molto più di un tempo, e potrebbe uccidere il vostro macchina. Per motivi di sicurezza, scrivi uno script bash che cancellerà i log e riavvierà il server postgresql.
Grazie @ Paolo, @Jarret Hardie, @ Zoltán, @Rix Beck, @Latif Premani
Questo è importante: '' 'logging_collector = on''' – bonyiii
Inoltre, fate attenzione che in alcune distribuzioni GNU/Linux (ad esempio Debian Jessie)' restart PostgreSQL systemctl 'potrebbe non riavviare il servizio PostgreSQL che hai configurato (non capisco perché ancora), quindi le modifiche nel file di configurazione non verranno applicate. È più sicuro usare 'pg_ctl' (o' pg_ctlcluster' su Debian). –
Ho appena provato questo in Ubuntu 16.04 LTS, con PostgreSQL 9.5 e 'systemctl reload postgresql',' systemctl restart postgresql', 'service postgresql reload' e' service postgresql restart' rendono tutte le modifiche alla configurazione efficaci. –