On Fri, 2003-01-10 at 18:44, Tom Lane wrote:
> Are you intending that pg_dump will always attach either WITH OIDS or
> WITHOUT OIDS to its CREATE TABLE commands?
Now that I think about it, I'd think pg_dump should attach one or the
other to all CREATE TABLE commands, regardless of the GUC variable
setting.
> On the other hand, if we do do that then (a) pg_dump output
> becomes even less portable than it is now, and (b) upgraded databases
> will still have OIDs, which renders the "improved storage efficiency"
> argument a bit thin.
Those are both valid points, but I still think that eventually
defaulting to WITHOUT OIDS is the right way to go.
Personally, I don't think (a) is that important (if it *is* important,
we're doing pretty poorly in that regard right now).
As for (b), I think it ultimately boils down to the need to strike a
balance between backward compatibility and new features/fixes. It's
definately true that if the GUC var only applies to newly created tables
(and not dumped ones), it will take longer for the change to take
effect. But I'm not so sure there's anything wrong with that: if we
provide an ALTER TABLE variant to allow users to remove the OIDs from an
extant table, then we're effectively leaving the decision of when to
make the transition entirely within the user's hands.
Cheers,
Neil
--
Neil Conway <neilc@samurai.com> || PGP Key ID: DB3C29FC