sql >> Base de Datos >  >> RDS >> PostgreSQL

Configuración de application_name en Postgres/SQLAlchemy

la respuesta a esto es una combinación de:

http://initd.org/psycopg/docs/module.html#psycopg2.connect

Cualquier otro parámetro de conexión compatible con la biblioteca/servidor del cliente se puede pasar en la cadena de conexión o como palabras clave. La documentación de PostgreSQL contiene la lista completa de los parámetros admitidos. También tenga en cuenta que los mismos parámetros se pueden pasar a la biblioteca del cliente utilizando variables de entorno.

donde la variable que necesitamos es:

http://www.postgresql.org/docs/current/static/runtime-config-logging.html#GUC-NOMBRE-APLICACIÓN

application_name puede ser cualquier cadena de menos de NAMEDATALEN caracteres (64 caracteres en una compilación estándar). Por lo general, lo establece una aplicación al conectarse al servidor. El nombre se mostrará en la vista pg_stat_activity y se incluirá en las entradas del registro CSV. También se puede incluir en las entradas de registro regulares a través del parámetro log_line_prefix. Solo se pueden usar caracteres ASCII imprimibles en el valor application_name. Otros caracteres serán reemplazados por signos de interrogación (?).

combinado con :

http://docs.sqlalchemy.org/en/rel_0_8/core/engines.html#custom-dbapi-args

Los argumentos basados ​​en cadenas se pueden pasar directamente desde la cadena URL como argumentos de consulta:(ejemplo...) create_engine() también toma un argumento connect_args que es un diccionario adicional que se pasará a connect(). Esto se puede usar cuando se requieren argumentos de un tipo que no sea una cadena, y el conector de la base de datos de SQLAlchemy no tiene una lógica de conversión de tipo presente para ese parámetro

de eso obtenemos:

e = create_engine("postgresql://scott:[email protected]/test?application_name=myapp")

o:

e = create_engine("postgresql://scott:[email protected]/test", 
              connect_args={"application_name":"myapp"})