On Tue, Apr 2, 2013 at 8:35 AM, jesusthefrog <jesusthef...@gmail.com> wrote:

> On the topic of 'natural' versus 'synthetic' primary keys, I am generally
> in the camp that an extra ID field won't cost you too much, and while one
> may not need it for a simple table (i.e. id, name) one might add any number
> of columns later, and you'll be glad to have it.
>
>
Nothing prevents you from adding more columns if you use varchar primary
keys.


>
> My preferred method is to give every table an ID column of UUID type and
> generate a UUID using the uuid-ossp contrib module. This also prevents
> someone not familiar with the database design from using an ID somewhere
> they should not (as is possible with natural PKs) or treating the ID as an
> integer, not an identifier (as is all too common with serial integers).
>
>
>
This would be a concern if you had multi master writes . As far as I know
Postgres does not have a true multi master replication system so all the
writes have to happen on one server right?

As for UUIDs I use them sometimes but I tend to also use one serial column
because when I am communicating with people it makes it so much easier to
say "dealer number X" than "dealer number SOME_HUGE_UUID".  I often have to
talk to people about the data and UUIDs make it very difficult to
communicate with humans.

Reply via email to