Pythonにインポートしません プログラム。 .pgpassのポイント これは、システムのファイル権限と libpqの対象となる通常のファイルであるということです。 psycopg2などのライブラリのドライバ Postgresへの接続に使用します パスワードをソースコードに含めることを要求したり、パスワードを要求したりする代わりに、このファイルでパスワードを探します。
また、これはサーバー側のファイルではなく、クライアント側のファイルです。したがって、* nixボックスには、~/.pgpassがあります。 確立したいさまざまな接続の資格情報を含むファイル。
OPからのコメントに応じて編集:
psycopg2 を実行するには、主に2つのことが必要です。 .pgpassを介して正しく認証する :
- しないでください
psycopg2.connectに渡される文字列にパスワードを指定します - 正しいエントリが
.pgpassに追加されていることを確認してください psycopg2を介して接続するユーザーのファイル 。
たとえば、 localhost上の特定のユーザーのすべてのデータベースでこれを機能させるには ポート5432 、そのユーザーの.pgpassに次の行を追加します ファイル:
localhost:5432:*:<username>:<password>
そして、connect 呼び出しは次の形式になります:
conn = psycopg2.connect("host=localhost dbname=<dbname> user=<username>")
基になるlibpq psycopg2のドライバー 使用すると、.pgpassが利用されます パスワードを取得するためのファイル。