Em 5 de março de 2018 14:36, Alexsander Rosa <alexsander.r...@gmail.com>
escreveu:
>
> Obrigado pela resposta! Neste caso eu vou ter que fazer um polling,
certo? Eu gostaria de uma precisão abaixo de 1 minuto (ou seja, não dá pra
usar o CRON), porém não quero ficar toda hora chamando o pg_isready pois
isso certamente vai influenciar na carga do servidor. Além disso, quando o
S.O. for reiniciado meu programa em C vai cair também.
>
> O ideal seria uma função análoga à pg_postmaster_start_time() porém com o
último shutdown.
> Talvez seja possível criar uma "pg_postmaster_last_shutdown()" para obter
esta informação.
>
> Eu sei que nosso servidor PG foi reiniciado, pela última vez, dia 30 de
janeiro:
>
> SELECT pg_postmaster_start_time();
>    pg_postmaster_start_time
> -------------------------------
>  2018-01-30 07:33:29.438349-02
> (1 row)
>
> No caso eu sei que está no ar desde Janeiro porém eu não sei que horas,
no dia 30/01, o servidor foi parado. Olhando no log temos:
> 2018-01-30 07:33:07.278 -02 [1212] LOG:  autovacuum launcher shutting down
> 2018-01-30 07:33:07.373 -02 [1209] LOG:  shutting down
> 2018-01-30 07:33:07.440 -02 [1195] LOG:  database system is shut down
> 2018-01-30 07:33:29.439 -02 [1350] LOG:  database system was shut down at
2018-01-30 07:33:07 -02
>
> Veja que o servidor SABE que o shutdown ocorreu às 2018-01-30 07:33:07
-02 (no caso foi uma alteração no .conf).
> Resta saber se esta informação está ficando gravada em algum lugar (além
do texto do log) e como recuperá-la.
>
>

Alexsander,

Atualmente o PostgreSQL só persiste essa informação de Startup e Shutdown
nos logs. A função pg_postmaster_start_time() apenas retorna o valor
interno de uma global chamada PgStartTime que ele seta ao iniciar o
postmaster (vide src/backend/postmaster/postmaster.c), mas não persiste em
nenhum lugar.

Talvez até fosse uma idéia adicionar isso ao global/pg_control e obter
atraves do utilitário pg_controldata e termos isso a nível SQL usando a
função pg_control_init() talvez... mas teriamos que discutir isso lá na
-hackers, isso se já não foi e por algum motivo não foi implementado.

Att,


--
   Fabrízio de Royes Mello         Timbira - http://www.timbira.com.br/
   PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a