Re: Unique cluster / instance identifier?

From: Andrew Gierth <andrew(at)tao11(dot)riddles(dot)org(dot)uk>
To: "S(dot) Bob" <sbob(at)quadratum-braccas(dot)com>
Cc: pgsql-admin <pgsql-admin(at)postgresql(dot)org>
Subject: Re: Unique cluster / instance identifier?
Date: 2019-02-18 18:03:34
Message-ID: 87r2c5htm3.fsf@news-spur.riddles.org.uk
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

>>>>> "S" == S Bob <sbob(at)quadratum-braccas(dot)com> writes:

S> Hi all;

S> Does PostgreSQL store a unique cluster or instance identifier that
S> we can access to identify our instances?

Yes. But it's not easy to get at: it's the "Database system identifier"
shown in the output of pg_controldata. (pg12+ will have a function to
get it from SQL, but released versions don't.)

e.g.

Database system identifier: 6659016342798875639

The number is mostly generated from the time the instance was created,
with some bits modified. So for example:

$ perl -le 'print scalar gmtime +(shift >> 32)' 6659016342798875639
Sun Feb 17 17:04:21 2019

PG uses this internally to make sure that replication never tries to
apply WAL records generated on one system to a different system.
Physical replication secondary systems share the primary's system
identifier since they always originate as a copy (via base backup) of
the primary.

--
Andrew (irc:RhodiumToad)

In response to

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message S. Bob 2019-02-18 18:07:29 Re: Unique cluster / instance identifier?
Previous Message Laurenz Albe 2019-02-18 17:56:45 Re: Table Drop Error