postgresql/contrib
Fujii Masao 815d61fcd4 postgres_fdw: Report warning when timeout expires while getting query result.
When aborting remote transaction or sending cancel request to a remote server,
postgres_fdw calls pgfdw_get_cleanup_result() to wait for the result of
transaction abort query or cancel request to arrive. It fails to get the result
if the timeout expires or a connection trouble happens.

Previously postgres_fdw reported no warning message even when the timeout
expired or a connection trouble happened in pgfdw_get_cleanup_result().
This could make the troubleshooting harder when such an event occurred.

This commit makes pgfdw_get_cleanup_result() tell its caller what trouble
(timeout or connection error) occurred, on failure, and also makes its caller
report the proper warning message based on that information.

Author: Fujii Masao
Reviewed-by: Bharath Rupireddy
Discussion: https://postgr.es/m/15aa988c-722e-ad3e-c936-4420c5b2bfea@oss.nttdata.com
2021-12-08 23:31:46 +09:00
..
adminpack Rename Default Roles to Predefined Roles 2021-04-01 15:32:06 -04:00
amcheck Some RELKIND macro refactoring 2021-12-03 14:08:19 +01:00
auth_delay Update copyright for 2021 2021-01-02 13:06:25 -05:00
auto_explain Replace random(), pg_erand48(), etc with a better PRNG API and algorithm. 2021-11-28 21:33:07 -05:00
bloom Move Perl test modules to a better namespace 2021-10-24 10:28:19 -04:00
bool_plperl Fix broken ruleutils support for function TRANSFORM clauses. 2021-01-25 13:03:43 -05:00
btree_gin Fix failure of btree_gin indexscans with "char" type and </<= operators. 2021-08-10 18:10:29 -04:00
btree_gist Fix gist_bool_ops to use gbtreekey2 2021-11-08 01:14:55 +01:00
citext Make contrib modules' installation scripts more secure. 2020-08-10 10:44:42 -04:00
cube Add binary I/O capability for cube datatype. 2021-03-06 12:04:05 -05:00
dblink postgres_fdw: Fix unexpected reporting of empty message. 2021-12-03 17:35:29 +09:00
dict_int Update copyright for 2021 2021-01-02 13:06:25 -05:00
dict_xsyn Update copyright for 2021 2021-01-02 13:06:25 -05:00
earthdistance Make contrib modules' installation scripts more secure. 2020-08-10 10:44:42 -04:00
file_fdw Replace random(), pg_erand48(), etc with a better PRNG API and algorithm. 2021-11-28 21:33:07 -05:00
fuzzystrmatch Update copyright for 2021 2021-01-02 13:06:25 -05:00
hstore Remove deprecated containment operators for contrib types. 2021-03-05 10:45:41 -05:00
hstore_plperl Make contrib modules' installation scripts more secure. 2020-08-10 10:44:42 -04:00
hstore_plpython Fix broken ruleutils support for function TRANSFORM clauses. 2021-01-25 13:03:43 -05:00
intagg Make contrib modules' installation scripts more secure. 2020-08-10 10:44:42 -04:00
intarray Clean up some code using "(expr) ? true : false" 2021-09-08 09:44:04 +09:00
isn Update copyright for 2021 2021-01-02 13:06:25 -05:00
jsonb_plperl Expose internal function for converting int64 to numeric 2020-09-09 20:16:28 +02:00
jsonb_plpython
lo
ltree Clean up more code using "(expr) ? true : false" 2021-10-11 09:36:42 +09:00
ltree_plpython
oid2name Move Perl test modules to a better namespace 2021-10-24 10:28:19 -04:00
old_snapshot Initial pgindent and pgperltidy run for v14. 2021-05-12 13:14:10 -04:00
pageinspect Fix incorrect format placeholders 2021-11-24 08:15:17 +01:00
passwordcheck Update copyright for 2021 2021-01-02 13:06:25 -05:00
pg_buffercache
pg_freespacemap
pg_prewarm Replace RelationOpenSmgr() with RelationGetSmgr(). 2021-07-12 17:01:36 -04:00
pg_stat_statements psql: include intra-query "--" comments in what's sent to the server. 2021-12-01 12:06:31 -05:00
pg_surgery Some RELKIND macro refactoring 2021-12-03 14:08:19 +01:00
pg_trgm Avoid some other O(N^2) hazards in list manipulation. 2021-11-01 16:24:39 -04:00
pg_visibility Some RELKIND macro refactoring 2021-12-03 14:08:19 +01:00
pgcrypto pgcrypto: Remove explicit hex encoding/decoding from tests 2021-12-08 06:06:22 +01:00
pgrowlocks pgrowlocks: Fix incorrect format placeholders 2021-12-08 09:32:16 +01:00
pgstattuple Some RELKIND macro refactoring 2021-12-03 14:08:19 +01:00
postgres_fdw postgres_fdw: Report warning when timeout expires while getting query result. 2021-12-08 23:31:46 +09:00
seg Stabilize contrib/seg regression test. 2021-06-07 14:52:42 -04:00
sepgsql Clean up some code using "(expr) ? true : false" 2021-09-08 09:44:04 +09:00
spi
sslinfo contrib/sslinfo needs a fix too to make hamerkop happy. 2021-11-07 11:33:53 -05:00
start-scripts
tablefunc Replace random(), pg_erand48(), etc with a better PRNG API and algorithm. 2021-11-28 21:33:07 -05:00
tcn Update copyright for 2021 2021-01-02 13:06:25 -05:00
test_decoding Add SQL functions to monitor the directory contents of replication slots 2021-11-23 19:29:42 +09:00
tsm_system_rows Replace random(), pg_erand48(), etc with a better PRNG API and algorithm. 2021-11-28 21:33:07 -05:00
tsm_system_time Replace random(), pg_erand48(), etc with a better PRNG API and algorithm. 2021-11-28 21:33:07 -05:00
unaccent Update Unicode data to CLDR 39 2021-04-08 08:28:03 +02:00
uuid-ossp uuid-ossp: Remove obsolete build connection with pgcrypto 2021-10-30 12:53:02 +02:00
vacuumlo Move Perl test modules to a better namespace 2021-10-24 10:28:19 -04:00
xml2
contrib-global.mk
Makefile pgcrypto: Remove non-OpenSSL support 2021-11-05 14:06:59 +01: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.