无法将PostgreSQL与Python3.6连接,但与Python2.7使用相同的代码。突发问题

时间:2019-02-14 16:25:41

标签: python-3.x windows postgresql connection psycopg2

我正在尝试在Windows上使用Python连接到PostgreSQL数据库,使用python 3.6失败,否则在python 2.7中成功,其余代码必须在3.6中运行,因此,这就是不更改为较旧版本的原因版本。

尝试了不同的事情:我试图删除PORT实例,以将连接输入作为变量传递,我没有包含“ conn.autocommit = True” ...没有运气。

我也尝试过使用pip3安装psycopg2-binary: Installation CMD 但是,当我跑步时,问题仍然存在。

def conn_to_pgdb():

    conn = psycopg2.connect("dbname='db' user='jon' password='jon'  host='host1234' port='5444'")
    conn.autocommit = True
    cur = conn.cursor()

    create_table = "DROP TABLE IF EXISTS " + con_path + ";" \
                    "CREATE TABLE " + con_path + " (" \
                    "user varchar(30)," \
                    "size varchar(50); "

    cur.execute(create_table)

conn_to_pgdb()

这是异常输出:

psycopg2.OperationalError:无法将主机名“ host1234”转换为地址:未知服务器错误

1 个答案:

答案 0 :(得分:0)

解决了,真的很好奇。导致此问题的原因是基于3.6 python解释器的虚拟环境。我只更改为仅使用解释器作为主要Python 3.6的解释器,而没有创建任何虚拟环境(就像我过去所做的那样)...现在可以正常使用了!

Project interpreter

感谢大家的宝贵时间,