我想通过Python连接到一个远程PostgreSQL数据库来做一些基础数据分析.该数据库需要SSL(验证ca)以及三个文件(我有):
- 服务器根证书文件
- 客户端证书文件
- 客户端密钥文件
我还没有找到一个教程来描述如何与Python建立这种连接.
我想通过Python连接到一个远程PostgreSQL数据库来做一些基础数据分析.该数据库需要SSL(验证ca)以及三个文件(我有):
我还没有找到一个教程来描述如何与Python建立这种连接.
使用psycopg2
模块.
您需要在连接字符串中使用ssl选项,或将它们添加为关键字参数:
import psycopg2
conn = psycopg2.connect(dbname='yourdb', user='dbuser', password='abcd1234', host='server', port='5432', sslmode='require')
在这种情况下,sslmode
指定需要SSL.
要执行服务器证书验证,可以将sslmode
设置为verify-full
或verify-ca
.您需要提供sslrootcert
中服务器证书的路径.还分别为客户端证书和密钥设置sslcert
和sslkey
值.
PostgreSQL Connection Strings documentation(另请参见参数关键字)和SSL Support对此进行了详细解释.