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

Indstilling af application_name på Postgres/SQLAlchemy

svaret på dette er en kombination af:

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

Enhver anden forbindelsesparameter, der understøttes af klientbiblioteket/serveren, kan overføres enten i forbindelsesstrengen eller som nøgleord. PostgreSQL-dokumentationen indeholder den komplette liste over de understøttede parametre. Bemærk også, at de samme parametre kan overføres til klientbiblioteket ved hjælp af miljøvariabler.

hvor den variabel vi har brug for er:

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

Application_name kan være en hvilken som helst streng på mindre end NAMEDATALEN tegn (64 tegn i en standard build). Det indstilles typisk af en applikation ved forbindelse til serveren. Navnet vil blive vist i pg_stat_activity-visningen og inkluderet i CSV-logposter. Den kan også inkluderes i almindelige logposter via parameteren log_line_prefix. Kun printbare ASCII-tegn må bruges i værdien application_name. Andre tegn vil blive erstattet med spørgsmålstegn (?).

kombineret med :

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

Strengbaserede argumenter kan sendes direkte fra URL-strengen som forespørgselsargumenter:(eksempel...) create_engine() tager også et argument connect_args, som er en ekstra ordbog, der sendes til connect(). Dette kan bruges, når der kræves argumenter af en anden type end streng, og SQLAlchemys databaseforbindelse ikke har nogen typekonverteringslogik til stede for den parameter

fra det får vi:

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

eller:

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



  1. Sådan forbinder du med værten PostgreSQL fra vagrant virtualbox-maskine

  2. Sådan beregnes en kvadratrod i SQL

  3. Sådan får du den sidste dag i måneden i MySQL

  4. Typer af SQL-kommandoer