sql >> Databasteknik >  >> RDS >> PostgreSQL

Ställer in application_name på Postgres/SQLAlchemy

svaret på detta är en kombination av:

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

Alla andra anslutningsparametrar som stöds av klientbiblioteket/servern kan skickas antingen i anslutningssträngen eller som nyckelord. PostgreSQL-dokumentationen innehåller den fullständiga listan över parametrar som stöds. Observera också att samma parametrar kan skickas till klientbiblioteket med hjälp av miljövariabler.

där variabeln vi behöver är:

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

Application_name kan vara vilken sträng som helst med mindre än NAMEDATALEN-tecken (64 tecken i en standardversion). Det ställs vanligtvis in av ett program vid anslutning till servern. Namnet kommer att visas i vyn pg_stat_activity och inkluderas i CSV-loggposterna. Den kan också inkluderas i vanliga loggposter via parametern log_line_prefix. Endast utskrivbara ASCII-tecken får användas i värdet application_name. Andra tecken kommer att ersättas med frågetecken (?).

kombinerat med :

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

Strängbaserade argument kan skickas direkt från URL-strängen som frågeargument:(exempel...) create_engine() tar också ett argument connect_args som är en extra ordbok som kommer att skickas till connect(). Detta kan användas när argument av annan typ än sträng krävs, och SQLAlchemys databaskoppling inte har någon typkonverteringslogik för den parametern

av 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. Implementering av Levenshtein-distans för mysql/fuzzy-sökning?

  2. Hur avkodar man PostgreSQL bytea kolumn hex till int16/uint16 i r?

  3. ogiltig bytesekvens för kodning av UTF8

  4. Hur man uppdaterar tabellen med activeandroid efter att ha lagt till en ny kolumn