May 2018
Intermediate to advanced
576 pages
30h 25m
English
Postgres stores the server start time, so we can access it directly, as follows:
postgres=# SELECT pg_postmaster_start_time(); pg_postmaster_start_time ----------------------------------------------2018-01-01 19:37:41.389134+00
Then, we can write a SQL query to get the uptime, like this:
postgres=# SELECT current_timestamp - pg_postmaster_start_time(); ?column? --------------------------------------------------------2 days 02:50:02.23939
Finally, we can apply some formatting:
postgres=# SELECT date_trunc('second', current_timestamp - pg_postmaster_start_time()) as uptime; uptime ----------------------------2 days 02:51:18