Re: como especificar nombre de la aplicacion desde la conexion

From: Marco Antonio <marcoantoniofrias(at)gmail(dot)com>
To: Miguel Angel Hernandez Moreno <miguel(dot)hdz(dot)mrn(at)gmail(dot)com>
Cc: Lista PostgreSql <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: como especificar nombre de la aplicacion desde la conexion
Date: 2011-10-12 19:27:45
Message-ID: CAOXeJjmW-RVvzVmDT4HYOLgufqc59HGZ6b4AjZ6F3rX7tPA0GQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

2011/10/12 Miguel Angel Hernandez Moreno <miguel(dot)hdz(dot)mrn(at)gmail(dot)com>:
> Saludos lista
> Estaba leyendo que desde la version 9.0 o superior postgres soporta la
> definicion del application_name
> pero no se como usarlo ni en java ni en php
> actualmente uso el driver:
> -Class.forName("org.postgresql.Driver");
> la libreria
> -postgresql-9.0-801.jdbc4.jar
> Y este en mi metodo de conexion
> -jdbc:postgresql://localhost:5432/postgres
> Ocupo incorporar el application_name para la identificacion de mis procesos
> pero no se en que parte valla
> la definicion de tal parametro, alguien sabe como hacerle?
> ...
> ...
> ya intente
> jdbc:postgresql://192.170.1.89:5432/postgres/application_name/java

Hola, lo estás haciendo mal. En la documentación de jdbc
(http://jdbc.postgresql.org/documentation/head/connect.html) te
muestra que para realizar una conexión puedes utilizar parámetros de
conexión. Estos parámetros puedes establecerlos en la url (una forma
fea) o mediante propiedades. Por ejemplo:

public class Test {

public static void main(String[] arg) {

try {
Class.forName("org.postgresql.Driver");

Properties prop = new Properties();
prop.put("user", "<dbuser>");
prop.put("password", "<password>");
prop.put("ApplicationName", "mi app");

Connection c = DriverManager.getConnection(
"jdbc:postgresql://localhost:5432/<dbname>", prop);

Statement stmt = c.createStatement();
ResultSet rs = stmt.executeQuery("SHOW application_name");
rs.next();
String appName = rs.getString(1);
rs.close();
stmt.close();

System.out.println("application_name: " + appName);

} catch (Exception e) {
e.printStackTrace();
System.exit(1);
}
}
}

Sustituyes <dbuser>, <password>, mi app, localhost, <dbname> y en la
consola, bitácora o pg_stat_activity deberías tener establecido el
parámetro.

---- 8< bitácora ----

2011-10-12 15:14:28.907 BOT [desconocido] [desconocido] [desconocido]
LOG: conexión recibida: host=127.0.0.1 port=51323
2011-10-12 15:14:28.907 BOT 127.0.0.1 [desconocido] <dbuser> <dbname>
authentication LOG: conexión autorizada: usuario=<dbuser>
database=<dbname>
2011-10-12 15:14:28.922 BOT 127.0.0.1 [desconocido] <dbuser> <dbname>
PARSE LOG: duración: 0.112 ms parse: <unnamed>: SET
extra_float_digits = 3
2011-10-12 15:14:28.922 BOT 127.0.0.1 [desconocido] <dbuser> <dbname>
BIND LOG: duración: 0.007 ms bind <unnamed>: SET extra_float_digits
= 3
2011-10-12 15:14:28.922 BOT 127.0.0.1 [desconocido] <dbuser> <dbname>
SET LOG: ejecutar <unnamed>: SET extra_float_digits = 3
2011-10-12 15:14:28.922 BOT 127.0.0.1 [desconocido] <dbuser> <dbname>
SET LOG: duración: 0.039 ms
2011-10-12 15:14:28.923 BOT 127.0.0.1 [desconocido] <dbuser> <dbname>
PARSE LOG: duración: 0.052 ms parse: <unnamed>: SET application_name
= 'mi app'
2011-10-12 15:14:28.923 BOT 127.0.0.1 [desconocido] <dbuser> <dbname>
BIND LOG: duración: 0.005 ms bind <unnamed>: SET application_name =
'mi app'
2011-10-12 15:14:28.924 BOT 127.0.0.1 [desconocido] <dbuser> <dbname>
SET LOG: ejecutar <unnamed>: SET application_name = 'mi app'
2011-10-12 15:14:28.924 BOT 127.0.0.1 mi app <dbuser> <dbname> SET
LOG: duración: 0.048 ms
2011-10-12 15:14:28.938 BOT 127.0.0.1 mi app <dbuser> <dbname> PARSE
LOG: duración: 0.121 ms parse: <unnamed>: SHOW application_name
2011-10-12 15:14:28.938 BOT 127.0.0.1 mi app <dbuser> <dbname> BIND
LOG: duración: 0.008 ms bind <unnamed>: SHOW application_name
2011-10-12 15:14:28.938 BOT 127.0.0.1 mi app <dbuser> <dbname> SHOW
LOG: ejecutar <unnamed>: SHOW application_name
2011-10-12 15:14:28.938 BOT 127.0.0.1 mi app <dbuser> <dbname> SHOW
LOG: duración: 0.047 ms
2011-10-12 15:14:28.950 BOT 127.0.0.1 mi app <dbuser> <dbname> idle
LOG: desconexión: duración de sesión: 0:00:00.045 usuario=<dbuser>
base=<dbname> host=127.0.0.1 port=51323

---- 8< ----

--
Saludos...

Marco Antonio Frias Butrón
Desarrollador de Software
Slackware Linux User #356229

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Miguel Angel Hernandez Moreno 2011-10-12 20:19:43 Re: como especificar nombre de la aplicacion desde la conexion
Previous Message Ernesto Verbanaz 2011-10-12 19:20:46 Re: como especificar nombre de la aplicacion desde la conexion