> > I've not looked at your patch deeply but if this problem is talking > only about postgres_fdw I think we should improve postgres_fdw, not > adding a GUC to the core. It’s not that all FDW plugins use connection > cache and postgres_fdw’s connection cache is implemented within > postgres_fdw, I think we should focus on improving postgres_fdw. I > also think it’s not a good design that the core manages connections to > remote servers connected via FDW. I wonder if we can add a > postgres_fdw option for this purpose, say keep_connection [on|off]. > That way, we can set it per server so that remote connections to the > particular server don’t remain idle. >
If I understand it correctly, your suggestion is to add keep_connection option and use that while defining the server object. IMO having keep_connection option at the server object level may not serve the purpose being discussed here. For instance, let's say I create a foreign server in session 1 with keep_connection on, and I want to use that server object in session 2 with keep_connection off and session 3 with keep_connection on and so on. One way we can change the server's keep_connection option is to alter the server object, but that's not a good choice, as we have to alter it at the system level. Overall, though we define the server object in a single session, it will be used in multiple sessions, having an option at the per-server level would not be a good idea. With Regards, Bharath Rupireddy. EnterpriseDB: http://www.enterprisedb.com