]> granicus.if.org Git - postgresql/commit
Re-establish postgres_fdw connections after server or user mapping changes.
authorTom Lane <tgl@sss.pgh.pa.us>
Fri, 21 Jul 2017 16:51:38 +0000 (12:51 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Fri, 21 Jul 2017 16:51:38 +0000 (12:51 -0400)
commit8bf58c0d9bd336868e2d6489f11dc094cad9ad91
treeeec2c3b770015dd407e266929c62be1fff464b59
parent7e1fb4c59e4ac86de2640d0f3453fde270ec1ff8
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
contrib/postgres_fdw/connection.c
contrib/postgres_fdw/expected/postgres_fdw.out
contrib/postgres_fdw/sql/postgres_fdw.sql