postgresql/contrib
Joe Conway 2f802d95b4 Make dblink try harder to form useful error messages
When libpq encounters a connection-level error, e.g. runs out of memory
while forming a result, there will be no error associated with PGresult,
but a message will be placed into PGconn's error buffer. postgres_fdw
takes care to use the PGconn error message when PGresult does not have
one, but dblink has been negligent in that regard. Modify dblink to mirror
what postgres_fdw has been doing.

Back-patch to all supported branches.

Author: Joe Conway
Reviewed-By: Tom Lane
Discussion: https://postgr.es/m/02fa2d90-2efd-00bc-fefc-c23c00eb671e%40joeconway.com
2016-12-22 09:48:55 -08:00
..
adminpack Update copyright for 2016 2016-01-02 13:33:40 -05:00
auth_delay Update copyright for 2016 2016-01-02 14:19:48 -05:00
auto_explain pgindent run for 9.6 2016-06-09 18:02:36 -04:00
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 Make dblink try harder to form useful error messages 2016-12-22 09:48:55 -08:00
dict_int Update copyright for 2016 2016-01-02 13:33:40 -05:00
dict_xsyn Update copyright for 2016 2016-01-02 13:33:40 -05:00
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 Update fuzzystrmatch extension for parallel query. 2016-06-07 11:26:41 -04:00
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 Schema-qualify some references to regprocedure. 2016-06-10 10:41:58 -04:00
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 Update lo extension for parallel query. 2016-06-07 11:26:42 -04:00
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 Simplify correct use of simple_prompt(). 2016-08-30 17:02:02 -04:00
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 Update pg_freespacemap extension for parallel query. 2016-06-09 17:18:16 -04:00
pg_prewarm Update pg_prewarm extension for parallel query. 2016-06-09 17:18:18 -04:00
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 Fix handling of multixacts predating pg_upgrade 2016-06-24 18:29:28 -04:00
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 Add macros to make AllocSetContextCreate() calls simpler and safer. 2016-08-27 17:50:38 -04:00
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 Fix typo in linux startup script. 2015-04-26 09:43:15 -04:00
tablefunc Remove unnecessary prototypes 2016-09-30 14:04:16 -04:00
tcn Revert CREATE INDEX ... INCLUDING ... 2016-04-08 21:52:13 +03:00
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 Update copyright for 2016 2016-01-02 13:33:40 -05:00
tsm_system_time Update copyright for 2016 2016-01-02 13:33:40 -05:00
unaccent Update unaccent extension for parallel query. 2016-06-14 14:55:49 -04:00
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
Makefile Bloom index contrib module 2016-04-01 16:42:24 +03:00
README Rename 'gmake' to 'make' in docs and recommended commands 2014-02-12 17:29:19 -05:00
contrib-global.mk Respect TEMP_CONFIG when pg_regress_check and friends are called 2016-02-27 12:28:21 -05:00

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.