Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>,
Andres Freund <andres(at)anarazel(dot)de>,
pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>,
Robert Haas <robertmhaas(at)gmail(dot)com>,
Dimitri Fontaine <dfontaine(at)hi-media(dot)com>
Dave Page <dpage(at)pgadmin(dot)org> writes:
> On Tue, Dec 1, 2009 at 9:16 AM, Heikki Linnakangas
> <heikki(dot)linnakangas(at)enterprisedb(dot)com> wrote:
>> If an application can do SET DEFAULT, how does the connection pooler
>> *really* reset the value back to what it was?
> There has to be some level of trust here :-). As the alternative would
> involve bumping the fe-be protocol version, it seems like a reasonable
> approach to me.
I don't think that we need to bump the protocol version. The real
alternative here would be that libpq sends a startup packet that
includes application_name, and if it gets an error back from that,
it starts over without the app name. The main disadvantage would
be that you'd get a double connection attempt == more overhead
anytime you use an 8.5+ libpq to connect to 8.4- server. People
never complained that hard about the similar double connection attempt
when 7.4+ libpq connected to 7.3- servers, so maybe we should just
go that way.
regards, tom lane