sql >> データベース >  >> RDS >> PostgreSQL

Postgres/SQLAlchemyでのapplication_nameの設定

    これに対する答えは次の組み合わせです:

    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"})
    



    1. MySQLはテーブルから欠落しているIDを取得します

    2. インデックスの使用、一時的な使用、ファイルソートの使用-これを修正する方法は?

    3. 参照データパターン:拡張可能で柔軟

    4. SQLiteEXCEPT演算子