pgsql: Allow postgres_fdw to ship extension funcs/operators for remote

Поиск
Список
Период
Сортировка
От Tom Lane
Тема pgsql: Allow postgres_fdw to ship extension funcs/operators for remote
Дата
Msg-id E1ZtlDo-0006SN-Qc@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
Allow postgres_fdw to ship extension funcs/operators for remote execution.

The user can whitelist specified extension(s) in the foreign server's
options, whereupon we will treat immutable functions and operators of those
extensions as candidates to be sent for remote execution.

Whitelisting an extension in this way basically promises that the extension
exists on the remote server and behaves compatibly with the local instance.
We have no way to prove that formally, so we have to rely on the user to
get it right.  But this seems like something that people can usually get
right in practice.

We might in future allow functions and operators to be whitelisted
individually, but extension granularity is a very convenient special case,
so it got done first.

The patch as-committed lacks any regression tests, which is unfortunate,
but introducing dependencies on other extensions for testing purposes
would break "make installcheck" scenarios, which is worse.  I have some
ideas about klugy ways around that, but it seems like material for a
separate patch.  For the moment, leave the problem open.

Paul Ramsey, hacked up a bit more by me

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/d89494166351e1fdac77d87c6af500401deb2422

Modified Files
--------------
contrib/postgres_fdw/Makefile       |    2 +-
contrib/postgres_fdw/deparse.c      |  104 ++++++++---------
contrib/postgres_fdw/option.c       |   54 +++++++++
contrib/postgres_fdw/postgres_fdw.c |   38 +------
contrib/postgres_fdw/postgres_fdw.h |   43 ++++++-
contrib/postgres_fdw/shippable.c    |  214 +++++++++++++++++++++++++++++++++++
doc/src/sgml/postgres-fdw.sgml      |   46 +++++++-
src/backend/utils/adt/format_type.c |   16 ++-
src/include/utils/builtins.h        |    1 +
9 files changed, 427 insertions(+), 91 deletions(-)


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

Предыдущее
От: Robert Haas
Дата:
Сообщение: pgsql: Improve comments about abbreviation abort.
Следующее
От: Tom Lane
Дата:
Сообщение: pgsql: Add regression tests for remote execution of extension operators