Re: Using a different column name in a foreign table

Поиск
Список
Период
Сортировка
От Guillaume Lelarge
Тема Re: Using a different column name in a foreign table
Дата
Msg-id CAECtzeUUSBS_kr_CQBtuRF2d2JhFE_gvXe9k+0p0wwyw1AKjhw@mail.gmail.com
обсуждение исходный текст
Ответ на Using a different column name in a foreign table  (Alanoly Andrews <alanolya@invera.com>)
Список pgsql-general
Hi,

Le ven. 21 janv. 2022 à 17:24, Alanoly Andrews <alanolya@invera.com> a écrit :
Hello,
 
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.
Is there a resolution to this issue?
 

Your foreign table definition should have the new column name. You did it the other way around. This is how you should have done it:

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

Regards.


--
Guillaume.

В списке pgsql-general по дате отправления:

Предыдущее
От: "David G. Johnston"
Дата:
Сообщение: Re: Does PostgreSQL do bind-peeking? Is `col like '%'` optimized-away by the planner?
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Does PostgreSQL do bind-peeking? Is `col like '%'` optimized-away by the planner?