mirror of
https://github.com/postgres/postgres.git
synced 2026-03-23 02:43:22 -04:00
Allow CREATE SUBSCRIPTION to accept a foreign server using the SERVER
clause instead of a raw connection string using the CONNECTION clause.
* Enables a user with sufficient privileges to create a subscription
using a foreign server by name without specifying the connection
details.
* Integrates with user mappings (and other FDW infrastructure) using
the subscription owner.
* Provides a layer of indirection to manage multiple subscriptions
to the same remote server more easily.
Also add CREATE FOREIGN DATA WRAPPER ... CONNECTION clause to specify
a connection_function. To be eligible for a subscription, the foreign
server's foreign data wrapper must specify a connection_function.
Add connection_function support to postgres_fdw, and bump postgres_fdw
version to 1.3.
Bump catversion.
Reviewed-by: Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>
Reviewed-by: Shlok Kyal <shlok.kyal.oss@gmail.com>
Reviewed-by: Masahiko Sawada <sawada.mshk@gmail.com>
Reviewed-by: Amit Kapila <amit.kapila16@gmail.com>
Discussion: https://postgr.es/m/61831790a0a937038f78ce09f8dd4cef7de7456a.camel@j-davis.com
57 lines
1.3 KiB
Meson
57 lines
1.3 KiB
Meson
# Copyright (c) 2022-2026, PostgreSQL Global Development Group
|
|
|
|
postgres_fdw_sources = files(
|
|
'connection.c',
|
|
'deparse.c',
|
|
'option.c',
|
|
'postgres_fdw.c',
|
|
'shippable.c',
|
|
)
|
|
|
|
if host_system == 'windows'
|
|
postgres_fdw_sources += rc_lib_gen.process(win32ver_rc, extra_args: [
|
|
'--NAME', 'postgres_fdw',
|
|
'--FILEDESC', 'postgres_fdw - foreign data wrapper for PostgreSQL',])
|
|
endif
|
|
|
|
postgres_fdw = shared_module('postgres_fdw',
|
|
postgres_fdw_sources,
|
|
kwargs: contrib_mod_args + {
|
|
'dependencies': contrib_mod_args['dependencies'] + [libpq],
|
|
},
|
|
)
|
|
contrib_targets += postgres_fdw
|
|
|
|
install_data(
|
|
'postgres_fdw.control',
|
|
'postgres_fdw--1.0.sql',
|
|
'postgres_fdw--1.0--1.1.sql',
|
|
'postgres_fdw--1.1--1.2.sql',
|
|
'postgres_fdw--1.2--1.3.sql',
|
|
kwargs: contrib_data_args,
|
|
)
|
|
|
|
tests += {
|
|
'name': 'postgres_fdw',
|
|
'sd': meson.current_source_dir(),
|
|
'bd': meson.current_build_dir(),
|
|
'regress': {
|
|
'sql': [
|
|
'postgres_fdw',
|
|
'query_cancel',
|
|
],
|
|
'regress_args': ['--dlpath', meson.project_build_root() / 'src/test/regress'],
|
|
},
|
|
'isolation': {
|
|
'specs': [
|
|
'eval_plan_qual',
|
|
],
|
|
'regress_args': ['--load-extension=postgres_fdw'],
|
|
},
|
|
'tap': {
|
|
'tests': [
|
|
't/001_auth_scram.pl',
|
|
't/010_subscription.pl',
|
|
],
|
|
},
|
|
}
|