Re: [GENERAL] UUID's as primary keys

From: Greg Stark <gsstark(at)mit(dot)edu>
To: Martijn van Oosterhout <kleptog(at)svana(dot)org>
Cc: Thomas Hallgren <thomas(at)tada(dot)se>, Greg Stark <gsstark(at)MIT(dot)EDU>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Psql_General <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: [GENERAL] UUID's as primary keys
Date: 2006-06-29 15:54:43
Message-ID: 87ejx8t0sc.fsf@stark.xeocode.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-hackers


Martijn van Oosterhout <kleptog(at)svana(dot)org> writes:

> On Thu, Jun 29, 2006 at 03:54:36PM +0200, Thomas Hallgren wrote:
> > I have to concur with this. Assume you use a bytea for a UUID that in
> > turn is used as a primary key. The extra overhead will be reflected in
> > all indexes, all foreign keys, etc. In a normalized database some tables
> > may consist of UUID columns only.
>
> So you create a UUID type. It's cheap enough to create new types after
> all, that's one of postgresql's strengths. What I'm saying is that it's
> easier to create new fixed length types for the cases that need it,
> than it is to redo the entire type handling of the backend.

I guess my motivation here is that I feel currently char(n) is basically
broken in Postgres. Sure it satisfies the letter of the specification, but
it's failing to actually achieve anything for the users. There's no point at
all in using char(n) in Postgres since it takes exactly the same amount of
space as varchar() if you're always stuffing it full and more space if you're
not.

In the current setup the only reason for Postgres to have this data type at
all is purely for legacy compatibility. It doesn't actually "work" in that it
doesn't provide the space savings it's intended to and that would give users
an actual reason to use it in new databases.

--
greg

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Jasbinder Bali 2006-06-29 16:08:44 Re: Database connectivity using a unix shell
Previous Message Scott Marlowe 2006-06-29 15:33:13 Re: Database connectivity using a unix shell

Browse pgsql-hackers by date

  From Date Subject
Next Message Marc Munro 2006-06-29 15:58:48 Re: Index corruption
Previous Message Bruce Momjian 2006-06-29 15:27:07 Re: vacuum, performance, and MVCC