Alanoly Andrews <alano...@invera.com> writes:
> I see that the syntax for the creation of a foreign table allows you to use a 
> column name in the FT that is different from the one in the base table. Such 
> a "create foreign table" statement executes successfully and creates the FT. 
> But when I query the FT, I get an error wrt to the column that had been 
> renamed. See example below:

> create foreign table tab1_ft (
>     id int,
>     name char(10) options(column_name 'newname'))
> server xxxxxx
> options(schema_name 'public', table_name 'tab1');

> select * from tab1_ft;

> ERROR:  column "newname" does not exist
> HINT:  Perhaps you meant to reference the column "tab1.name".
> CONTEXT:  Remote SQL command: SELECT id, newname FROM public.tab1

> So, it seems that the when the remote SQL command is composed, the mapping of 
> 'newname' to the 'name' in the base table does not take effect.

Huh?  The CONTEXT line shows what was issued to the remote server,
and it's very obvious that we *are* asking for "newname", as indeed
is also implied by the error issued by the remote.  I think you
just didn't match the name correctly to the actual name on the remote.

                        regards, tom lane


Reply via email to