Re-establish postgres_fdw connections after server or user mapping changes.
Previously, postgres_fdw would keep on using an existing connection even
if the user did ALTER SERVER or ALTER USER MAPPING commands that should
affect connection parameters. Teach it to watch for catcache invals
on these catalogs and re-establish connections when the relevant catalog
entries change. Per bug #14738 from Michal Lis.
In passing, clean up some rather crufty decisions in commit ae9bfc5d6
about where fields of ConnCacheEntry should be reset. We now reset
all the fields whenever we open a new connection.
Kyotaro Horiguchi, reviewed by Ashutosh Bapat and myself.
Back-patch to 9.3 where postgres_fdw appeared.
Discussion: https://postgr.es/m/20170710113917.7727.10247@wrigleys.postgresql.org
Branch
------
REL9_6_STABLE
Details
-------
https://git.postgresql.org/pg/commitdiff/d86a2b7b58bc9e5455a77f37690bf4588f4d2836
Modified Files
--------------
contrib/postgres_fdw/connection.c | 118 +++++++++++++++++++++----
contrib/postgres_fdw/expected/postgres_fdw.out | 37 ++++++++
contrib/postgres_fdw/sql/postgres_fdw.sql | 20 +++++
3 files changed, 157 insertions(+), 18 deletions(-)