Pgpass在unixODBC/pyodbc中不工作
问题描述:
因此,我似乎无法使用Python中的unixODBC/pyodbc来获取PostgreSQL的“.pgpass”功能。Pgpass在unixODBC/pyodbc中不工作
我有一个工作〜/ .pgpass文件,如命令行工具psql所证实的,并且我有一个工作的odbc.ini条目,如我的Python脚本所确认的。这里的问题是我希望脚本通过〜/ .pgpass文件获取密码,因为我不想在DSN条目或odbc.ini条目中指定密码(其中任何一个都可行) 。
我已经尝试将pg_hba.conf中的本地和主机条目设置为包括md5,密码,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
答
libpq的使用.pgpass文件。你不能在odbc中使用它。
任何你不使用psycopg2的理由? – FlipperPA
因为我也连接到MSSQL和MySQL数据库。使用pyodbc为我想连接的任何数据库提供单一接口。 –
这绝对公平。我也连接到所有这三个,但使用单独的驱动程序(psycopg2,pyodbc,mysql-connector-python)来提高性能和简化性。它有一些混淆因为它们有不同的参数语法等等。 – FlipperPA