In [50]: cur.execute('create table xyzabcd (c1 integer, c2 text)')
Out[50]: <pgdb.pgdbCursor at 0x344ed501d0>但是在psql中,如果我尝试\dt,我看不到表。如果我将完全相同的查询复制粘贴到psql中,则会创建表。然后,如果我尝试在Python语言中执行上面的代码,我会得到一个ProgrammingError: ERROR: relation "xyzabcd" already exists。
同样的情况也适用于插件。不过,选择工作是完美无瑕的。我也在另一台Postgresql服务器上尝试了同样的方法(都是在RDS上)
有可能发生什么事的线索吗?我通过psql和Python-pygresql中的相同凭据连接到。
在任何人问起之前,我不能使用Psycopg2,因为许可证问题。
Postgresql Server 9.3.3、psql 9.3.5、Pygresql 4.1.1
发布于 2014-11-18 20:01:39
必须使用数据库连接的commit()方法。在PostgreSQL中,所有DDL (CREATE TABLE)都在事务中。在Python DB API 2中,默认情况下自动提交是关闭的。
https://stackoverflow.com/questions/26991744
复制相似问题