BUG #14474: Issue with temp table creation and OIDs

Started by Nonameover 9 years ago2 messagesbugs
Jump to latest
#1Noname
jeffdafoe@gmail.com

The following bug has been logged on the website:

Bug reference: 14474
Logged by: Jeff Dafoe
Email address: jeffdafoe@gmail.com
PostgreSQL version: 9.6.1
Operating system: Linux
Description:

We're in the process of upgrading from PG 9.3 to 9.6 . We've found that the
following works in 9.3 but does not work in 9.6 . It's not a big issue for
us, this is the simplest representation of the issue, we were able to work
around it in our actual case. I thought it best to report it in case others
encountered the issue.

create table test (id bigint) WITH (OIDS=FALSE);
create temporary table test_tmp (like test) WITH (OIDS=TRUE);
select oid, id from test_tmp;

In 9.3 this works, in 9.6 this generates a 'ERROR: column "oid" does not
exist' on the select statement.

Thanks,
Jeff (using PG since 6.5)

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

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Noname (#1)
Re: BUG #14474: Issue with temp table creation and OIDs

jeffdafoe@gmail.com writes:

create table test (id bigint) WITH (OIDS=FALSE);
create temporary table test_tmp (like test) WITH (OIDS=TRUE);
select oid, id from test_tmp;

In 9.3 this works, in 9.6 this generates a 'ERROR: column "oid" does not
exist' on the select statement.

I think this must be the fault of commit b943f502b --- it's overriding
test_tmp's WITH on the basis of what it found in LIKE tables. Will fix,
thanks for the report!

regards, tom lane

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