Re: GUID in postgres
Josh Berkus <josh@agliodbs.com>
From: "Josh Berkus" <josh@agliodbs.com>
To: Horst Herb <hherb@malleenet.net.au>, pgsql-sql@postgresql.org
Date: 2001-10-25T15:34:09Z
Lists: pgsql-general
Attachments
Horst,
> What we are using is the following:
> - All tables in need of a global ID _within_ a database inherit a
> globid
> table which contains nothing but an ID of type serial.
> - When we need cross-database unique IDs within the same system, the
> globid
> table contains a database identifier as well (like the OID of the
> pg_database
> entry for the database).
Well, I think you've just answered your own question. Build the above.
In more specific:
1. PostgreSQL does not, as a design decision, support inter-database
queries. So an inter-database ID is not particularly useful.
2. If you needed an id to be unique between servers for some reason,
simply make it a two-column ID: one column for the sequence (see below)
and one for the server name/ID
3. Sequences are guarenteed unique within a database up to the limits of
INT4 (2.4 billion). Read up on them in the postgreSQL docs. Also see
my posts on pgsql-sql for the last week regarding primary keys.
-Josh Berkus
______AGLIO DATABASE SOLUTIONS___________________________
Josh Berkus
Complete information technology josh@agliodbs.com
and data management solutions (415) 565-7293
for law firms, small businesses fax 621-2533
and non-profit organizations. San Francisco