On Sat, Mar 03, 2018 at 01:00:52PM -0500, Peter Eisentraut wrote:
> On 2/28/18 07:11, Anastasia Lubennikova wrote:
> > Currently, if the 'restart_after_crash' option is on, postgres will just
> > restart.
> > And the only way to know that it happened is to regularly parse logfile
> > or monitor it, catching restart messages. This approach is really
> > inconvenient for
> > users, who have gigabytes of logs.
> 
> I find this premise a bit dubious.  Why have a log file if it's too big
> to find anything in it?  Server crashes aren't the only thing people are
> interested in.  So we'll need a function for "last $anything".

I think one can tell if it's crashed recently by comparing start time of parent
postmaster and its main children (I'm going to go put this in place for myself
now).

ts=# SELECT backend_type, backend_start, pg_postmaster_start_time(), 
backend_start-pg_postmaster_start_time() FROM pg_stat_activity ORDER BY 
backend_start LIMIT 1;
    backend_type     |         backend_start         |   
pg_postmaster_start_time    |    ?column?     
---------------------+-------------------------------+-------------------------------+-----------------
 autovacuum launcher | 2018-03-02 00:21:11.604468-03 | 2018-03-02 
00:12:46.757642-03 | 00:08:24.846826

pryzbyj@pryzbyj:~$ ps -O lstart -upostgres # on a separate server with 9.4 
which doen't have backend_type, add in v10
  PID                  STARTED S TTY          TIME COMMAND
12982 Mon Feb 19 06:03:13 2018 S ?        00:00:33 
/usr/lib/postgresql/9.4/bin/postgres -D /var/lib/postgresql/9.4/main -c 
config_file=/etc/postgresql/9.4/main/postgresql.conf
12997 Mon Feb 19 06:03:14 2018 S ?        00:00:00 postgres: checkpointer 
process                                                                         
                     
12998 Mon Feb 19 06:03:14 2018 S ?        00:00:08 postgres: writer process     
                                                                                
               
12999 Mon Feb 19 06:03:14 2018 S ?        00:00:08 postgres: wal writer process 
                                                                                
               
13000 Mon Feb 19 06:03:14 2018 S ?        00:00:19 postgres: autovacuum 
launcher process                                                                
                       
13001 Mon Feb 19 06:03:14 2018 S ?        00:00:45 postgres: stats collector 
process                                                                         
                  

pryzbyj@pryzbyj:~$ sudo kill -SEGV 12997
pryzbyj@pryzbyj:~$ ps -O lstart -upostgres
  PID                  STARTED S TTY          TIME COMMAND
 8644 Sat Mar  3 12:05:34 2018 S ?        00:00:00 postgres: checkpointer 
process                                                                         
                     
 8645 Sat Mar  3 12:05:34 2018 S ?        00:00:00 postgres: writer process     
                                                                                
               
 8646 Sat Mar  3 12:05:34 2018 S ?        00:00:00 postgres: wal writer process 
                                                                                
               
 8647 Sat Mar  3 12:05:34 2018 S ?        00:00:00 postgres: autovacuum 
launcher process                                                                
                       
 8648 Sat Mar  3 12:05:34 2018 S ?        00:00:00 postgres: stats collector 
process                                                                         
                  
12982 Mon Feb 19 06:03:13 2018 S ?        00:00:33 
/usr/lib/postgresql/9.4/bin/postgres -D /var/lib/postgresql/9.4/main -c 
config_file=/etc/postgresql/9.4/main/postgresql.conf

Justin

Reply via email to