在PostgreSQL下有很多个不同模式(SCHEMA),psycopg2连接指定默认public的模式。
在正常的情况下,连接PostgreSQL不会爆错,但是在使用sql对数据库进行操作时,会爆出以下错误信息:
current transaction is aborted, commands ignored until end of transaction block
解决方案:
psycopg2.connect(dbname=PostgreSQL的数据库名,
user=用户名,
password=密码,
host=IP地址,
port=端口,
options="-c search_path=other_schema,public")
注意:
- dbname=PostgreSQL的数据库名,并不是模式
- options=“-c search_path=other_schema,public”),other_schema是你想要的那个模式
sql示例:
注意:
- 列名的获取
- 表名“table”还是table