>>  Why?  What benefit do we get out of denying users this option?
>
> Why should we continue to support historical special case?  It is not
> a feature that adds anything to user experience with Postgres.
>
> Anyway, that was my vote only.  If there are developers interested
> in supporting oids feel free to do so.
>
> But now that I learned that ALTER TABLE WITHOUT OIDS either causes bugs
> or requires table rewrite, it turned from minor annoyance to big annoyance.
> So I'd like have a reasonable path for getting rid of them, which we don't
> have currently.  Removing them completely is simplest path, but adding
> extra features to support it is another.

Well, see Tom's point upthread: OIDs are extensively used for system
tables, and are not going away.  So this is a pipe dream.  In the
meantime, ALTER TABLE WITHOUT OIDS is (at least for some people) an
easier migration path than dump+reload.

>>  That might be true in your environment, but is certainly not true in
>> general. We have many DDL commands that require full-table rewrites, and
>> they are FAR from useless.
>
> Compared to not having the DDL commands or having DDL commands that
> do not rewrite the tables?  ;)

Not having them, of course.

If we remove ALTER TABLE WITHOUT OIDS, it's going to encourage people
to do stuff like this:

CREATE TABLE blah_without_oids AS SELECT * FROM blah;
ALTER TABLE blah ...
ALTER TABLE blah ...
-- move foreign keys, constraints, etc.
DROP TABLE blah;
ALTER TABLE blah_without_oids RENAME TO blah;

...or else dump+reload.  ISTM that if anything that's going to
encourage people to keep the OIDs in there because it's too much work
to get rid of them.

...Robert

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to