Alanoly Andrews <[email protected]> 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