Re: Function to track shmem reinit time

From: Tomas Vondra <tomas(dot)vondra(at)2ndquadrant(dot)com>
To: Anastasia Lubennikova <a(dot)lubennikova(at)postgrespro(dot)ru>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Function to track shmem reinit time
Date: 2018-03-04 16:17:32
Message-ID: f6f6e258-3184-3aca-d087-721a72f33de2@2ndquadrant.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 02/28/2018 01:11 PM, Anastasia Lubennikova wrote:
>
> This new function can be periodiacally called by a monitoring agent,
> and, if /shmem_init_time/ doesn't match /pg_postmaster_start_time,/
> we know that server crashed-restarted, and also know the exact time,
> when.
>

Actually, after looking at the code a bit, I think that test would not
really work anyway, because those two timestamps come from two separate
GetCurrentTimestamp calls, so you get this:

test=# select pg_shmem_init_time(), pg_postmaster_start_time();
pg_shmem_init_time | pg_postmaster_start_time
-------------------------------+-------------------------------
2018-03-04 17:10:59.017058+01 | 2018-03-04 17:10:59.022071+01
(1 row)

test=# select pg_shmem_init_time() = pg_postmaster_start_time();
?column?
----------
f
(1 row)

So there would have to be some sort of "fuzz" parameter when comparing
the values, etc.

Furthermore, the patch is yet another victim of fd1a421fe - fixing the
pg_proc entries is trivial, but a new version is needed.

I'd also like to see an example/explanation how this improves this
situation compared to only having pg_postmaster_start_time.

So I'm setting this as waiting on author for now.

regards

--
Tomas Vondra http://www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Pavel Stehule 2018-03-04 16:19:27 Re: Fwd: automatic disable unicode line style when terminal is not unicode
Previous Message Tom Lane 2018-03-04 16:09:51 Re: Function to track shmem reinit time