Re: dblink get_connect_string() passes FDW option "updatable" to the connect string, connection fails.

Поиск
Список
Период
Сортировка
От Joe Conway
Тема Re: dblink get_connect_string() passes FDW option "updatable" to the connect string, connection fails.
Дата
Msg-id ea528f3f-7f34-60a0-703c-c086e76ddfed@joeconway.com
обсуждение исходный текст
Ответ на Re: dblink get_connect_string() passes FDW option "updatable" to the connect string, connection fails.  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
On 11/21/2016 02:16 PM, Tom Lane wrote:
> Corey Huinker <corey.huinker@gmail.com> writes:
>> I ran into this today:
>> CREATE SERVER bob_srv FOREIGN DATA WRAPPER postgres_fdw OPTIONS ( host
>> 'localhost', dbname :'current_db' );
>> ...
>> ALTER SERVER bob_srv OPTIONS (updatable 'true');
>> SELECT *
>> FROM dblink('bob_srv','SELECT 1') as t(x integer);
>> psql:bug_example.sql:18: ERROR:  could not establish connection
>> DETAIL:  invalid connection option "updatable"
>
>> Is this something we want to fix?
>
> The dblink docs recommend using dblink_fdw as the FDW for this purpose,
> which would only accept legal connstr options.  However, I can see the
> point of using a postgres_fdw server instead, and considering that
> dblink isn't actually enforcing use of any particular FDW type, it seems
> like the onus should be on it to be more wary of what the options are.
>
> It looks like this might be fairly easy to fix by having
> get_connect_string() use is_valid_dblink_option() to check each
> option name, and silently ignore options that are inappropriate.

Thanks for the report and analysis. I'll take a look at creating a patch
this week.

Joe

--
Crunchy Data - http://crunchydata.com
PostgreSQL Support for Secure Enterprises
Consulting, Training, & Open Source Development


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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: [RFC] Should we fix postmaster to avoid slow shutdown?
Следующее
От: Peter Geoghegan
Дата:
Сообщение: Re: [WIP] [B-Tree] Keep indexes sorted by heap physical location