2
0
mirror of https://git.postgresql.org/git/postgresql.git synced 2025-01-24 18:55:04 +08:00
postgresql/contrib
Joe Conway c444868389 Protect dblink from invalid options when using postgres_fdw server
When dblink uses a postgres_fdw server name for its connection, it
is possible for the connection to have options that are invalid
with dblink (e.g. "updatable"). The recommended way to avoid this
problem is to use dblink_fdw servers instead. However there are use
cases for using postgres_fdw, and possibly other FDWs, for dblink
connection options, therefore protect against trying to use any
options that do not apply by using is_valid_dblink_option() when
building the connection string from the options.

Back-patch to 9.3. Although 9.2 supports FDWs for connection info,
is_valid_dblink_option() did not yet exist, and neither did
postgres_fdw, at least in the postgres source tree. Given the lack
of previous complaints, fixing that seems too invasive/not worth it.

Author: Corey Huinker
Reviewed-By: Joe Conway
Discussion: https://postgr.es/m/CADkLM%3DfWyXVEyYcqbcRnxcHutkP45UHU9WD7XpdZaMfe7S%3DRwA%40mail.gmail.com
2016-12-22 09:20:35 -08:00
..
adminpack
auth_delay
auto_explain
bloom Log the creation of an init fork unconditionally. 2016-12-08 14:12:08 -05:00
btree_gin Test all contrib-created operator classes with amvalidate. 2016-11-29 15:05:22 -05:00
btree_gist Test all contrib-created operator classes with amvalidate. 2016-11-29 15:05:22 -05:00
chkpass Further cleanup from the strong-random patch. 2016-12-12 11:55:32 +02:00
citext Test all contrib-created operator classes with amvalidate. 2016-11-29 15:05:22 -05:00
cube Test all contrib-created operator classes with amvalidate. 2016-11-29 15:05:22 -05:00
dblink Protect dblink from invalid options when using postgres_fdw server 2016-12-22 09:20:35 -08:00
dict_int
dict_xsyn
earthdistance psql: Split up "Modifiers" column in \d and \dD 2016-11-03 14:02:46 -04:00
file_fdw Allow contrib/file_fdw to read from a program, like COPY FROM PROGRAM. 2016-09-29 13:32:34 -04:00
fuzzystrmatch
hstore Test all contrib-created operator classes with amvalidate. 2016-11-29 15:05:22 -05:00
hstore_plperl Avoid direct cross-module links in hstore_plperl and ltree_plpython, too. 2016-10-04 17:49:07 -04:00
hstore_plpython Fix hstore_plpython for Python 3. 2016-10-04 09:38:43 -04:00
intagg
intarray Test all contrib-created operator classes with amvalidate. 2016-11-29 15:05:22 -05:00
isn Test all contrib-created operator classes with amvalidate. 2016-11-29 15:05:22 -05:00
lo
ltree Test all contrib-created operator classes with amvalidate. 2016-11-29 15:05:22 -05:00
ltree_plpython Avoid direct cross-module links in hstore_plperl and ltree_plpython, too. 2016-10-04 17:49:07 -04:00
oid2name
pageinspect Fix gin_leafpage_items(). 2016-11-04 12:11:54 -04:00
passwordcheck Move code shared between libpq and backend from backend/libpq/ to common/. 2016-09-02 13:49:59 +03:00
pg_buffercache Don't bother to lock bufmgr partitions in pg_buffercache. 2016-09-29 13:16:30 +03:00
pg_freespacemap
pg_prewarm
pg_standby Fix a bunch of places that called malloc and friends with no NULL check. 2016-08-30 18:22:43 -04:00
pg_stat_statements Provide NO_INSTALLCHECK option for pgxs. 2016-11-14 14:53:07 -08:00
pg_trgm Test all contrib-created operator classes with amvalidate. 2016-11-29 15:05:22 -05:00
pg_visibility Fix bugs in contrib/pg_visibility. 2016-10-01 16:32:54 -04:00
pgcrypto Fix pgcrypto compilation with OpenSSL 1.1.0. 2016-12-12 11:14:44 +02:00
pgrowlocks
pgstattuple pgstattuple: Don't take heavyweight locks when examining a hash index. 2016-10-28 12:21:15 -04:00
postgres_fdw Improve dblink error message when remote does not provide it 2016-12-21 15:51:31 -08:00
seg Test all contrib-created operator classes with amvalidate. 2016-11-29 15:05:22 -05:00
sepgsql
spi Replace uses of SPI_modifytuple that intend to allocate in current context. 2016-11-08 15:36:44 -05:00
sslinfo Support OpenSSL 1.1.0. 2016-09-15 14:42:29 +03:00
start-scripts
tablefunc Remove unnecessary prototypes 2016-09-30 14:04:16 -04:00
tcn
test_decoding Various temporary slots test improvements 2016-12-15 08:50:09 -05:00
tsearch2 Test all contrib-created operator classes with amvalidate. 2016-11-29 15:05:22 -05:00
tsm_system_rows
tsm_system_time
unaccent
uuid-ossp Give a useful error message if uuid-ossp is built without preconfiguration. 2016-12-22 11:19:04 -05:00
vacuumlo Fix a bunch of places that called malloc and friends with no NULL check. 2016-08-30 18:22:43 -04:00
xml2 Revert "Delete contrib/xml2's legacy implementation of xml_is_well_formed()." 2016-11-07 10:27:52 -05:00
contrib-global.mk
Makefile
README

The PostgreSQL contrib tree
---------------------------

This subtree contains porting tools, analysis utilities, and plug-in
features that are not part of the core PostgreSQL system, mainly
because they address a limited audience or are too experimental to be
part of the main source tree.  This does not preclude their
usefulness.

User documentation for each module appears in the main SGML
documentation.

When building from the source distribution, these modules are not
built automatically, unless you build the "world" target.  You can
also build and install them all by running "make all" and "make
install" in this directory; or to build and install just one selected
module, do the same in that module's subdirectory.

Some directories supply new user-defined functions, operators, or
types.  To make use of one of these modules, after you have installed
the code you need to register the new SQL objects in the database
system by executing a CREATE EXTENSION command.  In a fresh database,
you can simply do

    CREATE EXTENSION module_name;

See the PostgreSQL documentation for more information about this
procedure.