Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
避免在django1.4和postgresql 8.1中返回与bug#10467相关的postgresql语句_Django_Postgresql_Django Settings_Django Database_Django Postgresql - Fatal编程技术网

避免在django1.4和postgresql 8.1中返回与bug#10467相关的postgresql语句

避免在django1.4和postgresql 8.1中返回与bug#10467相关的postgresql语句,django,postgresql,django-settings,django-database,django-postgresql,Django,Postgresql,Django Settings,Django Database,Django Postgresql,几天前,我在django 1.4中使用管理功能编写了一个项目,旨在为从遗留系统迁移到新系统的调试数据制作一个CRUD(迁移并不完全成功),我使用django 1.4编写它,并在笔记本电脑中使用生产数据库的副本,但在linux中我使用postgresql9.1,因此,当我试图将项目配置为原始服务器(postgresql8.1)中的测试数据库时,我在syncdb和migrate语句中出错: File "/home/diegueus9/webapps/fixsysandinos/local/lib/p

几天前,我在django 1.4中使用管理功能编写了一个项目,旨在为从遗留系统迁移到新系统的调试数据制作一个CRUD(迁移并不完全成功),我使用django 1.4编写它,并在笔记本电脑中使用生产数据库的副本,但在linux中我使用postgresql9.1,因此,当我试图将项目配置为原始服务器(postgresql8.1)中的测试数据库时,我在
syncdb
migrate
语句中出错:

File "/home/diegueus9/webapps/fixsysandinos/local/lib/python2.7/site-packages/django/db/backends/util.py", line 40, in execute
    return self.cursor.execute(sql, params)
  File "/home/diegueus9/webapps/fixsysandinos/local/lib/python2.7/site-packages/django/db/backends/postgresql_psycopg2/base.py", line 52, in execute
    return self.cursor.execute(query, args)
django.db.utils.DatabaseError: syntax error at or near "RETURNING"
LINE 1: ...") VALUES (E'permission', E'auth', E'permission') RETURNING ...
所以,我做了一点研究,在django中发现了这个问题(目前已关闭),它说使用statt RETURNING在postgresql 8.1中引入了一个错误,因为它直到8.2才支持这种语法(我认为),这个错误在8个月前看起来已经关闭,但我认为在某种程度上是重新引入的。票证的线程中说问题可能与自动提交行为有关,并讨论了
connection.features.can\u返回\u id\u from\u insert

因此,问题是:


这是一个必须重新打开的bug?我必须禁用自动提交行为并承担风险(我不希望如此),或者通过设置我可以设置
连接。功能。是否可以将\u id\u从\u insert
返回到
False
,以这种方式实现我的目标?

当升级数据库或降级django版本不是一个选项时,因为这是客户端的要求,您仍然可以在自己的责任范围内使用django1.4您可以禁用第77行
django.db.backends.postgresql\u psycopg2.base
中的RETURN语句设置
可以将id\u从插入返回到
False
。但这会影响django的行为,因此在升级数据库或降级django版本时,您确实必须或应该使用类似的东西,因为这是客户端的要求,您仍然可以在自己的责任范围内使用django1.4您可以禁用第77行
django.db.backends.postgresql\u psycopg2.base
中的RETURN语句设置
可以将id\u从插入返回到
False
。但这会影响django的行为,因此您确实必须或应该使用类似于

PostgreSQL 8.1版从2010年12月起是EOL。我同意Frank的观点。为什么不升级到受支持的(更好的)PostgreSQL版本?我无法升级数据库,因为客户端负担不起迁移成本。PostgreSQL 8.1版从2010年12月开始下线。我同意Frank的观点。为什么不升级到受支持(而且更好)的PostgreSQL版本?我无法升级数据库,因为客户端负担不起迁移成本。