sql >> Databáze >  >> RDS >> PostgreSQL

Nastavení názvu aplikace na Postgres/SQLAlchemy

odpověď na to je kombinace:

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

Jakýkoli jiný parametr připojení podporovaný klientskou knihovnou/serverem lze předat buď v připojovacím řetězci, nebo jako klíčová slova. Dokumentace PostgreSQL obsahuje úplný seznam podporovaných parametrů. Všimněte si také, že stejné parametry lze předat klientské knihovně pomocí proměnných prostředí.

kde proměnná, kterou potřebujeme, je:

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

Název_aplikace může být libovolný řetězec kratší než NAMEDATALEN znaků (64 znaků ve standardním sestavení). Obvykle je nastavena aplikací při připojení k serveru. Jméno se zobrazí v pohledu pg_stat_activity a bude zahrnuto do záznamů CSV protokolu. Může být také zahrnut do běžných záznamů protokolu prostřednictvím parametru log_line_prefix. V hodnotě název_aplikace lze použít pouze tisknutelné znaky ASCII. Ostatní znaky budou nahrazeny otazníky (?).

v kombinaci s :

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

Argumenty založené na řetězci lze předat přímo z řetězce adresy URL jako argumenty dotazu:(příklad...) create_engine() také přebírá argument connect_args, což je další slovník, který bude předán connect(). To lze použít, když jsou vyžadovány argumenty jiného typu než řetězec a databázový konektor SQLAlchemy nemá pro tento parametr žádnou logiku konverze typu

z toho dostaneme:

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

nebo:

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



  1. Jak zjistit, zda upsert byl aktualizací s PostgreSQL 9.5+ UPSERT?

  2. Erlang a jeho spotřeba paměti haldy

  3. Migrace databáze Oracle z AWS EC2 na AWS RDS, část 3

  4. Funkce ABS() v Oracle