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