PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Impostazione di nome_applicazione su Postgres/SQLAlchemy

la risposta è una combinazione di:

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

Qualsiasi altro parametro di connessione supportato dalla libreria/server client può essere passato nella stringa di connessione o come parole chiave. La documentazione di PostgreSQL contiene l'elenco completo dei parametri supportati. Si noti inoltre che gli stessi parametri possono essere passati alla libreria client utilizzando le variabili di ambiente.

dove la variabile di cui abbiamo bisogno è:

http://www.postgresql.org/docs/current/static/runtime-config-logging.html#GUC-APPLICATION-NAME

Il nome_applicazione può essere qualsiasi stringa con meno di NAMEDATALEN caratteri (64 caratteri in una build standard). In genere viene impostato da un'applicazione al momento della connessione al server. Il nome verrà visualizzato nella vista pg_stat_activity e incluso nelle voci del registro CSV. Può anche essere incluso nelle normali voci di registro tramite il parametro log_line_prefix. Nel valore nome_applicazione possono essere utilizzati solo caratteri ASCII stampabili. Gli altri caratteri verranno sostituiti con punti interrogativi (?).

combinato con :

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

Gli argomenti basati su stringhe possono essere passati direttamente dalla stringa URL come argomenti di query:(esempio...) create_engine() accetta anche un argomento connect_args che è un dizionario aggiuntivo che verrà passato a connect(). Può essere utilizzato quando sono richiesti argomenti di un tipo diverso da stringa e il connettore del database di SQLAlchemy non ha una logica di conversione del tipo presente per quel parametro

da ciò otteniamo:

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

oppure:

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