From: | Markus Wanner <markus(at)bluegap(dot)ch> |
---|---|
To: | Hannu Krosing <hannu(at)2ndQuadrant(dot)com> |
Cc: | Andres Freund <andres(at)anarazel(dot)de>, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: logical changeset generation v3 - comparison to Postgres-R change set format |
Date: | 2012-11-17 14:00:10 |
Message-ID: | 50A7986A.70501@bluegap.ch |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 11/17/2012 02:30 PM, Hannu Krosing wrote:
> Is it possible to replicate UPDATEs and DELETEs without a primary key in
> PostgreSQL-R
No. There must be some way to logically identify the tuple. Note,
though, that theoretically any (unconditional) unique key would suffice.
In practice, that usually doesn't matter, as you rarely have one or more
unique keys without a primary.
Also note that the underlying index is useful for remote application of
change sets (except perhaps for very small tables).
In some cases, for example for n:m linking tables, you need to add a
uniqueness key that spans all columns (as opposed to a simple index on
one of the columns that's usually required, anyway). I hope for
index-only scans eventually mitigating this issue.
Alternatively, I've been thinking about the ability to add a hidden
column, which can then be used as a PRIMARY KEY without breaking legacy
applications that rely on SELECT * not returning that primary key.
Are there other reasons to want tables without primary keys that I'm
missing?
Regards
Markus Wanner
From | Date | Subject | |
---|---|---|---|
Next Message | Michael Giannakopoulos | 2012-11-17 14:18:27 | Parser - Query Analyser |
Previous Message | Hannu Krosing | 2012-11-17 13:30:27 | Re: logical changeset generation v3 - comparison to Postgres-R change set format |