繁体   English   中英

Psycopg2 - 使用连接字符串连接到 postgreSQL 数据库

[英]Psycopg2 - Connect to postgreSQL database using a connection string

我目前有一个格式为:

“本地主机://用户名:密码@data_quality:5432”

使用 psycopg2 连接到我的数据库的最佳方法是什么?

例如:连接 = psycopg2.connect(connection_string)

谢谢,

您可以使用urlparse ,创建一个匹配 psycopg 的连接 arguments 的字典:

import psycopg2
from urllib.parse import urlparse

conStr = "localhost://username:password@data_quality:5432"
p = urlparse(conStr)

pg_connection_dict = {
    'dbname': p.hostname,
    'user': p.username,
    'password': p.password,
    'port': p.port,
    'host': p.scheme
}

print(pg_connection_dict)
con = psycopg2.connect(**pg_connection_dict)
print(con)

出去:

{'dbname': 'data_quality', 'user': 'username', 'password': 'password', 'port': 5432, 'host': 'localhost'}
<connection object at 0x105f58190; dsn: 'user=xxx password=xxx dbname=xxx host=xxx port=xxx', closed: 0>

pyscopg2 connect的文档在这里 按照他们的语法,你可以这样连接:

connection = psycopg2.connect(host='localhost', user='<username>',
                              password='<password>', 
                              dbname='data_quality', port=5432)

如果您使用的是 Windows,如果您没有网络连接,那么解析localhost可能会很愚蠢。 您可以通过使用'127.0.0.1'作为host来解决此问题

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM