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
代わりにpsycopg2を使用しない理由は何ですか? – FlipperPA
私はMSSQLとMySQLデータベースにも接続しています。 pyodbcを使用すると、接続したい任意のデータベースへの単一のインタフェースが得られます。 –
それは絶対に公正です。私も3つすべてに接続しますが、性能と簡潔さのために別々のドライバ(psycopg2、pyodbc、mysql-connector-python)を使用します。パラメータの構文などが異なるため、やや混乱します。 – FlipperPA