On Wed, Dec 30, 2009 at 1:14 PM, Guillaume Lelarge
<guillaume@lelarge.info> wrote:
>> The application_name should be set as a connection string parameter,
>> not an explicit SET command.
>
> That was the first thing I wanted to do. But people won't be able to use
> pgAdmin with older PostgreSQL releases if we use the connection string
> parameter.
Yes they will. We changed libpq to ensure that works properly.
>> This ensures that the application name is
>> included in the initial connection log message, and avoids a round
>> trip with the SET query. PQconninfoParse can be used to test if libpq
>> supports application_name at runtime.
>>
>
> I don't understand that. libpq and the server are two different things.
> You can have a new libpq on your client and an old server. client's
> PQconninfoParse will tell you application_name is available, but it
> could be that the server doesn't understand it. Perhaps I need to get a
> better look at PQconninfoParse, but don't have the time right now.
You need an 8.5 libpq to use application_name in the connection
string. It doesn't matter what server you have, as libpq will ignore
the parameter for older servers. To ensure you have a suitable libpq,
prepare the connection string, and feed it to PQconninfoParse. If you
get a null response, there's a problem (e.g. application_name is not
supported). If you get a non-null response, the connection string is
valid.
>> I suspect the patch is also missing some changes to the debugger.
>>
>
> Probably, I'll look at this.
>
>
> --
> Guillaume.
> http://www.postgresqlfr.org
> http://dalibo.com
>
--
Dave Page
EnterpriseDB UK: http://www.enterprisedb.com