python - 与通过 psycopg2 创建的 postgreSQL 数据库的连接失败
问题描述
我用这样的 for 循环创建了一堆数据库:
import os
import psycopg2
from psycopg2.extensions import ISOLATION_LEVEL_AUTOCOMMIT
con = psycopg2.connect("user = my_user password = my_password");
con.set_isolation_level(ISOLATION_LEVEL_AUTOCOMMIT);
for txt in list_txt:
cursor = con.cursor();
sqlCreateDatabase = "create database " + txt + ";"
cursor.execute(sqlCreateDatabase);
cursor.close()
con.commit()
显然它工作正常,因为数据库显示在 pgAdmin 服务器树中。之后,当我尝试访问通过以下方式创建的数据库时,连接失败:
db_name = "my_DB"
con_data = "host = localhost dbname = " + db_name + " user = my_user password = my_password"
con = psycopg2.connect(con_data);
cursor = con.cursor();
连接失败,产生以下 OperationalError:
OperationalError Traceback (most recent call last)
<ipython-input-39-a5dcf00c1db0> in <module>
1 db_name = "my_DB"
2 con_data = "host = localhost dbname = " + db_name + " user = my_user password = my_password"
----> 3 con = psycopg2.connect(con_data);
4 cursor = con.cursor();
~\miniconda3\envs\psyco\lib\site-packages\psycopg2\__init__.py in connect(dsn, connection_factory, cursor_factory, **kwargs)
125
126 dsn = _ext.make_dsn(dsn, **kwargs)
--> 127 conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
128 if cursor_factory is not None:
129 conn.cursor_factory = cursor_factory
OperationalError:
如何在不手动创建新数据库的情况下访问我的新数据库?提前致谢!
解决方案
推荐阅读
- ruby-on-rails - Heroku 上的 RoR:为什么 ModelOne.count 仅在生产中不能在 ModelTwo 中工作?
- python - 如何使用 Python 和 Pandas 创建比 RAM 更大的 csv 文件
- java - 运行spring boot项目时bean名称冲突
- c# - 如何实现迭代器模式(IEnumerator
) 没有 yield 语句 - jquery - jquery - 创建递归树 - 耗时
- c# - 如何正确翻译条件(不带括号)?
- ios - Date() 返回超过 24 小时
- windows - 如何自动关闭 Azure VM?
- python - 合并具有不同长度的屏蔽数组的二维列表
- vba - 过滤列表的算法