2017-04-03 5 views
1

PythonでunixODBC/pyodbcを使用しているPostgreSQLの ".pgpass"機能が動作しないようです。unixODBC/pyodbcでPgpassが動作しない

コマンドラインツールpsqlで確認されているように、〜/ .pgpassファイルがあり、Pythonスクリプトで確認されているodbc.iniエントリがあります。ここで問題となるのは、〜/ .pgpassファイルを介してスクリプトがパスワードを受け取るようにしたいからです。DSNエントリとodbc.iniエントリのどちらでもパスワードを指定したくないからです。 。

pg_hba.confのローカルエントリとホストエントリをmd5、password、ident、peer、trustなどのさまざまな値に設定しようとしました。信頼はもちろん動作しますが、実際には何の認証も行っていないので、私は快適ではないレベルにセキュリティを置きます。

これは誰でも利用できますか?

pg_hba.confの

local all    all          md5 
host all    all    127.0.0.1/32   md5 
host all    all    ::1/128     md5 
host all    all    0.0.0.0/0    md5 
host all    all    ::/0     md5 

のodbc.ini

[MyEntry] 
Driver     = PostgreSQL 
Server     = myServer 
Port     = 5432 
Database    = myDB 
Username    = myUser 
Trace     = Yes 

.pgpass

myServer:5432:*:myUser:myPassword 
+0

代わりにpsycopg2を使用しない理由は何ですか? – FlipperPA

+0

私はMSSQLとMySQLデータベースにも接続しています。 pyodbcを使用すると、接続したい任意のデータベースへの単一のインタフェースが得られます。 –

+0

それは絶対に公正です。私も3つすべてに接続しますが、性能と簡潔さのために別々のドライバ(psycopg2、pyodbc、mysql-connector-python)を使用します。パラメータの構文などが異なるため、やや混乱します。 – FlipperPA

答えて

1

libpqで使用.pgpassファイル:ここではいくつかの関連するエントリがあります。 ODBCからは使用できません。

関連する問題