Federico Di Gregorio | 18 Jul 13:53 2010

RELEASE: psycopg 2.2.2

Hi *,

summer release! Just bugfixes, this time. Get it from:


What's new in psycopg 2.2.2

* Bux fixes:
  - the call to logging.basicConfig() in pool.py has been dropped: it
    was messing with some projects using logging (and a library should
    not initialize the logging system anyway.)
  - psycopg now correctly handles time zones with seconds in the UTC
    offset. The old register_tstz_w_secs() function is deprecated and
    will raise a warning if called.
  - Exceptions raised by the column iterator are propagated.
  - Exceptions raised by executemany() interators are propagated.

Have fun,


Federico Di Gregorio                                       fog@...
                             Domani si vede domani. -- Alessandra O'Hara

(Continue reading)

Federico Di Gregorio | 17 May 22:01 2010

RELEASE: psycopg 2.2.1

Hi *,

repeat with me:

for x in xrange(1000):
    print "Always check it build on windows!"

but thank to Jason Erickson here is 2.2.1 that DO build on windows. :)
No excerpt this time, it's a single liner, but here are the URLs:


Stable URLs:


Have fun,


Federico Di Gregorio                                       fog@...
  Qu'est ce que la folie? Juste un sentiment de liberté si
   fort qu'on en oublie ce qui nous rattache au monde... -- J. de Loctra

(Continue reading)

Federico Di Gregorio | 16 May 13:20 2010

RELEASE: psycopg 2.2.0

With many thanks to all the contributors here it is, psycopg 2.2.0:


From this release on I'll also provide "stable" URLs to the last
available version; so you can download psycopg 2.0 or 2.2 from:


As always, an excerpt from the NEWS file follows.

Have fun,

What's new in psycopg 2.2.0

This is the first release of the new 2.2 series, supporting not just
one but two different ways of executing asynchronous queries, thanks to
Jan and Daniele (with a little help from me and others, but they did
99% of the work so they deserve their names here in the news.)

psycopg now supports both classic select() loops and "green" coroutine
libraries. It is all in the documentation, so just point your browser to
(Continue reading)

Federico Di Gregorio | 13 Mar 21:24 2010

RELEASE: psycopg2 2.0.14

Hi *,

here it is, psycopg2 2.0.14 released under the LGPL3 (see LICENSE file
for details):


As always, an excerpt from the NEWS file follows.

Have fun,

What's new in psycopg 2.0.14

* New features:
  - Support for adapting tuples to PostgreSQL arrays is now enabled by
    default and does not require importing psycopg2.extensions anymore.
  - "can't adapt" error message now includes full type information.
  - Thank to Daniele Varrazzo (piro) psycopg2's source package now
    includes full documentation in HTML and plain text format.

* Bug fixes:
  - No loss of precision when using floats anymore.
  - decimal.Decimal "nan" and "infinity" correctly converted to
    PostgreSQL numeric NaN values (note that PostgreSQL numeric type
    does not support infinity but just NaNs.)
  - psycopg2.extensions now includes Binary.
(Continue reading)

Federico Di Gregorio | 22 Feb 19:58 2010

RELEASE: psycopg2 2.0.14 RC1

Hi *,

the number of changes that got in the repository lately is so large that
I really fear a brow paperbag release... so here it is the (only I hope)
release candidate for psycopg2, version 2.0.14 (with the Big License


Plase, build it and test it and double check documentation and license
plates and tell me of any Wrong So That It Can Be Made Right™.

Have fun,

p.s. yes, the UNICODE chars in this email are an indication that psycopg
will switch to produce unicode objects in place of strings soon or later
(probably soon.)


Federico Di Gregorio    <mailto:fog@...> <jid:fog@...>
DISCLAIMER. If I receive a message from you, you are agreeing that:
 1. I am by definition, "the intended recipient".
 2. All information in the email is mine to do with as I see fit and
 make such financial profit, political mileage, or good joke as it lends
 itself to. In particular, I may quote it on USENET or the WWW.
 3. I may take the contents as representing the views of your company.
 4. This overrides any disclaimer or statement of confidentiality that
(Continue reading)

Federico Di Gregorio | 7 Oct 18:34 2009

RELEASE: psycopg 2.0.13

Hi *,

at least a couple of people wrote me saying 2.0.13 RC 1 was fine and
Jason fixed (thank you!) all MSVC problems, so here is the final 2.0.13
release. No fancy stuff, just bugfixes, as you can see from the NEWS
excerpt below. Get it from:


Have fun,

What's new in psycopg 2.0.13

* New features:
  - Support for UUID arrays.
  - It is now possible to build psycopg linking to a static libpq

* Bug fixes:
  - Fixed a deadlock related to using the same connection with
    multiple cursors from different threads.
  - Builds again with MSVC.


Federico Di Gregorio                         http://people.initd.org/fog
DISCLAIMER. If I receive a message from you, you are agreeing that:
(Continue reading)

Federico Di Gregorio | 9 Aug 17:30 2009

RELEASE: psycopg 2.0.12

Hi *,

I just fixed a couple of bugs in psycopg so here's the new release. I
still have a couple of patches to review and some python 3 work that
I'll release later this August as psycopg 2.1 (with Python 3 support).

In the meantime here is a better (hopefully) psycopg for Python 2:


An excerpt from the NEWS file follows. Have fun,


What's new in psycopg 2.0.12

* New features:
  - The connection object now has a reset() method that can be used to
    reset the connection to its default state.

* Bug fixes:
  - copy_to() and copy_from() now accept a much larger number of
  - Fixed PostgreSQL version detection.
  - Fixed ZPsycopgDA version check.
  - Fixed regression in ZPsycopgDA that made it behave wrongly when
    receiving serialization errors: now the query is re-issued as it
(Continue reading)

Federico Di Gregorio | 20 Apr 20:43 2009

RELEASE: psycopg 2.0.10

Hi *,

as promised here is the release that plugs some of the segfaults that
popped up lately. It contains both Gangadharan fixes on
connection/cursor dealloc and my rework of the notice callback (that
caused some segfaults in case of notices processed while

The signed release is available at the usual place:


And here is the excerpt from the NEWS file:

What's new in psycopg 2.0.10

* New features:
  - A specialized type-caster that can parse time zones with seconds is
    now available. Note that after enabling it (see extras.py) "wrong"
    time zones will be parsed without raising an exception but the
    result will be rounded.
  - DictCursor can be used as a named cursor.
  - DictRow now implements more dict methods.
  - The connection object now expose PostgreSQL server version as the
    .server_version attribute and the protocol version used as
  - The connection object has a .get_parameter_status() methods that
    can be used to obtain useful information from the server.
(Continue reading)

Federico Di Gregorio | 23 Feb 21:49 2009

RELEASE: Psycopg 2.0.9

Hi *,

another year, another release, eheh. I hope to have the Python 2.6/3.0
release ready pretty soon but please, don't forget to ping me. I am
laaazy nowdays. Signed downloads from:


And ChangeLog:


An excerpt of the NEWS file follows. As always,

have fun,

What's new in psycopg 2.0.9

* New features:
  - COPY TO/COPY FROM queries now can be of any size and psycopg will
    correctly quote separators.
  - float values Inf and NaN are now correctly handled and can
    round-trip to the database.
  - executemany() now return the numer of total INSERTed or UPDATEd
    rows. Note that, as it has always been, executemany() should not
    be used to execute multiple SELECT statements and while it will
    execute the statements without any problem, it will return the
(Continue reading)

Federico Di Gregorio | 16 Sep 10:16 2008

RELEASE: psycopg 2.0.8

Hi everybody,

this is a little bit late but here we are: release 2.0.8. It includes
some fixes but not the latest patches sent to the mailing list. Download
the (signed) tarball from:


An excerpt from the NEWS file follows.

Have fun,

What's new in psycopg 2.0.8

* New features:
  - The connection object now has a get_backend_pid() method that
    returns the current PostgreSQL connection backend process PID.
  - The PostgreSQL large object API has been exposed through the
    Cursor.lobject() method.

* Bug fixes:
  - Some fixes to ZPsycopgDA have been merged from the Debian package.
  - A memory leak was fixed in Cursor.executemany().
  - A double free was fixed in pq_complete_error(), that caused crashes
    under some error conditions.


(Continue reading)

Federico Di Gregorio | 8 Jun 11:16 2007

RELEASE: psycopg 2.0.6 (the PyConUno release)

Hi *,

tomorrow I'll be at PyConUno, the first italian conference about Python,
giving a talk about psycopg. What better than release 2.0.6 final before
leaving for Firenze for the week-end? So here it is, tarball, signature
and ChangeLog:


A lot of changes went into 2.0.6 (see the ChangeLog for the details).
Here is a little excerpt from NEWS file, as always.

What's new in psycopg 2.0.6

* Better support for PostgreSQL, Python and win32:
  - full support for PostgreSQL 8.2, including NULLs in arrays
  - support for almost all existing PostgreSQL encodings
  - full list of PostgreSQL error codes available by importing the
    psycopg2.errorcodes module
  - full support for Python 2.5 and 64 bit architectures
  - better build support on win32 platform

* Support for per-connection type-casters (used by ZPsycopgDA too, this
  fixes a long standing bug that made different connections use a random
  set of date/time type-casters instead of the configured one.)

* Better management of times and dates both from Python and in Zope.
(Continue reading)