如果密码包含“@”(也是分隔符),如何使用 python 连接到 postgresql 数据库?

问题描述 投票:0回答:1

我试图连接到 postgresql 数据库但没有成功,但密码包含“@”,它也是一个分隔符。

import pandas as pd
import connectorx as cx
import psycopg2

postgres_url = "postgresql://username:~2m4\9#T3(*4p**@**[email protected]:5432/bbb"

query = "select * from table1"

df = cx.read_sql(postgres_url, query)

df.head()

我怎样才能克服这个问题? 谢谢。

python postgresql passwords connector
1个回答
0
投票

我找到了解决方案:

从 urllib.parse 导入 quote_plus

密码 = "~2m4\9#T3(*4p@KL" encoded_password = quote_plus(密码)

postgres_url = "postgresql://用户名:" + encoded_password + “@aaa-aaaa.s111111111111.aws-emea.aaa.com:5432/bbb”

query = "select * from table1"

df = cx.read_sql(postgres_url, query)

df.head()

© www.soinside.com 2019 - 2024. All rights reserved.