From a87a7dc8b64a99e5e497591dddb37b3ecdfae2eb Mon Sep 17 00:00:00 2001 From: Heikki Linnakangas <heikki.linnakangas@iki.fi> Date: Tue, 24 Jun 2014 12:31:36 +0300 Subject: [PATCH] Don't allow foreign tables with OIDs. The syntax doesn't let you specify "WITH OIDS" for foreign tables, but it was still possible with default_with_oids=true. But the rest of the system, including pg_dump, isn't prepared to handle foreign tables with OIDs properly. Backpatch down to 9.1, where foreign tables were introduced. It's possible that there are databases out there that already have foreign tables with OIDs. There isn't much we can do about that, but at least we can prevent them from being created in the future. Patch by Etsuro Fujita, reviewed by Hadi Moshayedi. --- src/backend/commands/tablecmds.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.c index 341262b6fc8..60d387a5e6c 100644 --- a/src/backend/commands/tablecmds.c +++ b/src/backend/commands/tablecmds.c @@ -564,8 +564,7 @@ DefineRelation(CreateStmt *stmt, char relkind, Oid ownerId) descriptor = BuildDescForRelation(schema); localHasOids = interpretOidsOption(stmt->options, - (relkind == RELKIND_RELATION || - relkind == RELKIND_FOREIGN_TABLE)); + (relkind == RELKIND_RELATION)); descriptor->tdhasoid = (localHasOids || parentOidCount > 0); /* -- GitLab