#16614: Support server-side cursors for queryset iteration in database backends
-------------------------------------+-------------------------------------
     Reporter:  Dan McGee            |                    Owner:  nobody
         Type:  New feature          |                   Status:  new
    Component:  Database layer       |                  Version:  1.3
  (models, ORM)                      |
     Severity:  Normal               |               Resolution:
     Keywords:  memory cursors       |             Triage Stage:  Accepted
  database                           |
    Has patch:  0                    |      Needs documentation:  0
  Needs tests:  0                    |  Patch needs improvement:  0
Easy pickings:  0                    |                    UI/UX:  0
-------------------------------------+-------------------------------------

Comment (by Sergey Fursov):

 Hi!

 I want to raise one case, which had our team after upgrading to 1.11
 version:
 - our app connects to DB through pgbouncer in transaction pooling mode
 - after applying changes introduced in this ticket, we started receive
 errors about non-existent named cursors
 - this obviously related to the fact, that pgBouncer can't work with
 cursors run "WITH HOLD" option in transaction pooling mode

 (more details here: https://groups.google.com/forum/#!topic/django-
 users/E39ycUilQ3c)

 Our team really want to upgrade to 1.11, but in this case we have to
 remove pgBouncer as connection pooling tool and connect to postgres DB
 directly.

 Looks like another possible option is wrapping all iterator() calls in
 their own transaction, but django internally use cursors in several places
 (e.g. in ModelChoiceIterator).

 I think this possible problem should be documented in some way, and it
 would be great to describe some options for projects to migrate to new
 version.

 (I'm sorry for cross-posting this problem here, but i guess our stack
 could be common for many other projects)

--
Ticket URL: <https://code.djangoproject.com/ticket/16614#comment:33>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To post to this group, send email to django-updates@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/067.aaf8435266fd3d4169ce230f49d247fa%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to