Re: Enum in foreign table: error and correct way to handle.

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Peter Swartz <peter(dot)goodings(dot)swartz(at)gmail(dot)com>
Cc: Ian Barwick <ian(at)2ndquadrant(dot)com>, pgsql-general <pgsql-general(at)postgresql(dot)org>
Subject: Re: Enum in foreign table: error and correct way to handle.
Date: 2015-05-23 16:35:58
Message-ID: 7514.1432398958@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Peter Swartz <peter(dot)goodings(dot)swartz(at)gmail(dot)com> writes:
> suppose the foreign database adds a value to the enum, and the foreign
> table now has rows with this new value, while the local definition of the
> enum remains unchanged. Obviously, the appropriate action on my part is to
> maintain consistency of enum definition between the foreign and local
> database, but I'm curious about what behavior would result if there was an
> error in this manual updating process.

What I'd expect to happen is that you'd get errors when retrieving rows
that had the values not known on the local side.

One potential way around this is to declare the foreign table's columns
as "text" rather than enums; you would lose some error checking on the
local side, but the remote server would enforce validity whenever you
stored something. (But I'm not sure whether this hack behaves desirably
for WHERE conditions on the enum column; you'd need to test.)

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Noah Misch 2015-05-23 17:43:06 Re: [GENERAL] psql weird behaviour with charset encodings
Previous Message Peter Swartz 2015-05-23 15:48:55 Re: Enum in foreign table: error and correct way to handle.