diff options
Diffstat (limited to 'contrib/postgres_fdw/sql/postgres_fdw.sql')
-rw-r--r-- | contrib/postgres_fdw/sql/postgres_fdw.sql | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/contrib/postgres_fdw/sql/postgres_fdw.sql b/contrib/postgres_fdw/sql/postgres_fdw.sql index 30b5175da5b..20749868d31 100644 --- a/contrib/postgres_fdw/sql/postgres_fdw.sql +++ b/contrib/postgres_fdw/sql/postgres_fdw.sql @@ -3422,3 +3422,42 @@ CREATE FOREIGN TABLE inv_fsz (c1 int ) -- Invalid batch_size option CREATE FOREIGN TABLE inv_bsz (c1 int ) SERVER loopback OPTIONS (batch_size '100$%$#$#'); + +-- =================================================================== +-- test postgres_fdw.application_name GUC +-- =================================================================== +-- Turn debug_discard_caches off for this test to make that +-- the remote connection is alive when checking its application_name. +-- For each test, close all the existing cached connections manually and +-- establish connection with new setting of application_name. +SET debug_discard_caches = 0; + +-- If appname is set as GUC but not as options of server object, +-- the GUC setting is used as application_name of remote connection. +SET postgres_fdw.application_name TO 'fdw_guc_appname'; +SELECT 1 FROM postgres_fdw_disconnect_all(); +SELECT 1 FROM ft6 LIMIT 1; +SELECT application_name FROM pg_stat_activity + WHERE application_name IN ('loopback2', 'fdw_guc_appname'); + +-- If appname is set as options of server object but not as GUC, +-- appname of server object is used. +RESET postgres_fdw.application_name; +ALTER SERVER loopback2 OPTIONS (ADD application_name 'loopback2'); +SELECT 1 FROM postgres_fdw_disconnect_all(); +SELECT 1 FROM ft6 LIMIT 1; +SELECT application_name FROM pg_stat_activity + WHERE application_name IN ('loopback2', 'fdw_guc_appname'); + +-- If appname is set both as GUC and as options of server object, +-- the GUC setting overrides appname of server object and is used. +SET postgres_fdw.application_name TO 'fdw_guc_appname'; +SELECT 1 FROM postgres_fdw_disconnect_all(); +SELECT 1 FROM ft6 LIMIT 1; +SELECT application_name FROM pg_stat_activity + WHERE application_name IN ('loopback2', 'fdw_guc_appname'); + +--Clean up +ALTER SERVER loopback2 OPTIONS (DROP application_name); +RESET postgres_fdw.application_name; +RESET debug_discard_caches; |