是这样的,我用本地的pgAdmin4创建server连上了云服务器上的postgresql,然后呢,想通过本地Python(我用的Spyder)连接云服务器上的postgresql,实现对数据库的调用。
但是一直报下面的错误:(内心一度崩溃)
经过摸爬滚打,各种请教,终于能连上了,我这边报错的原因主要有两个,大家可以做下参考~
1、云服务器上的防火墙设置:需要配置成能访问的,具体我也不是很清楚,因为这块不是我改的,桑心。
2、参数要写准确:之前没有弄清楚具体参数应该怎么填写(强调一下,这里的port要填写localhost的,不是云服务器的)
最终能连上的代码我贴在下面:
import psycopg2
from sqlalchemy import create_engine
conn = psycopg2.connect("hostaddr= 服务器地址 port=localhost的接口 dbname=数据库名字 user=postgres password=密码")
curs = conn.cursor()
engine = create_engine('postgresql://postgres@服务器地址:localhost的接口/数据库名字')
参考链接:
防火墙:
https://rainbow702.iteye.com/blog/1278497
psycopg2 文档
http://initd.org/psycopg/docs/module.html
psycopg2.connect 参数说明
https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-MULTIPLE-HOSTS