"David G. Johnston" <david.g.johns...@gmail.com> writes: > On Saturday, April 25, 2015, Tom Lane <t...@sss.pgh.pa.us> wrote: >> Still another case that needs to be thought about is "create table likeit >> (like base) without oids" where base does have OIDs. Probably the right >> thing here is to let the WITHOUT OIDS spec override what we see in base.
> Why are oids special in this manner? No other inherited column can be > omitted from the child table. Hm, good point; INHERITS will silently override such a specification: regression=# create table base1 (f1 int) with oids; CREATE TABLE regression=# create table c2 () inherits (base1) without oids; CREATE TABLE regression=# \d+ c2 Table "public.c2" Column | Type | Modifiers | Storage | Stats target | Description --------+---------+-----------+---------+--------------+------------- f1 | integer | | plain | | Inherits: base1 Has OIDs: yes > Though I guess unlike inherits there is no > reason to mandate the final result be identical to the base table - though > here is something to be said for pointing out the inconsistency and > requiring the user to alter table if indeed they want to have the oid-ness > changed. Yeah, LIKE doesn't necessarily have to behave the same as INHERITS; but probably we should follow that precedent unless we have a specific argument not to. Which I don't. regards, tom lane -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers