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
が利用されます パスワードを取得するためのファイル。