これに対する答えは次の組み合わせです:
http://initd.org/psycopg/docs/module.html#psycopg2.connect
クライアントライブラリ/サーバーでサポートされているその他の接続パラメータは、接続文字列またはキーワードとして渡すことができます。 PostgreSQLのドキュメントには、サポートされているパラメータの完全なリストが含まれています。また、環境変数を使用して同じパラメータをクライアントライブラリに渡すことができることにも注意してください。
必要な変数は次のとおりです。
http://www.postgresql.org/docs/current/static/runtime-config-logging.html#GUC-APPLICATION-NAME
application_nameは、NAMEDATALEN文字(標準ビルドでは64文字)未満の任意の文字列にすることができます。通常、サーバーへの接続時にアプリケーションによって設定されます。名前はpg_stat_activityビューに表示され、CSVログエントリに含まれます。 log_line_prefixパラメーターを介して通常のログエントリに含めることもできます。 application_name値には、印刷可能なASCII文字のみを使用できます。他の文字は疑問符(?)に置き換えられます。
と組み合わせる:
http://docs.sqlalchemy.org/en/rel_0_8/core/engines.html#custom-dbapi-args
文字列ベースの引数は、クエリ引数としてURL文字列から直接渡すことができます。(例...)create_engine()は、connect()に渡される追加のディクショナリである引数connect_argsも取ります。これは、文字列以外の型の引数が必要であり、SQLAlchemyのデータベースコネクタにそのパラメータの型変換ロジックが存在しない場合に使用できます
そこから次のようになります:
e = create_engine("postgresql://scott:[email protected]/test?application_name=myapp")
または:
e = create_engine("postgresql://scott:[email protected]/test",
connect_args={"application_name":"myapp"})