Release of PyGreSQL 4.0

Discussion in 'Python' started by D'Arcy J.M. Cain, Jan 1, 2009.

  1. We are please to announce the release of PyGreSQL 4.0. his is a major
    release and you should check it carefully before using in existing
    applications. There may be some incompatibilities.

    PyGreSQL is a Python module that interfaces to a PostgreSQL
    database. It embeds the PostgreSQL query library to allow easy use of
    the powerful PostgreSQL features from a Python script.

    For more information, please visit

    >From the changelog:

    - Dropped support for Python below 2.3 and PostgreSQL below 7.4.
    - Improved performance of fetchall() for large result sets
    by speeding up the type casts (as suggested by Peter Schuller).
    - Exposed exceptions as attributes of the connection object.
    - Exposed connection as attribute of the cursor object.
    - Cursors now support the iteration protocol.
    - Added new method to get parameter settings.
    - Added customizable row_factory as suggested by Simon Pamies.
    - Separated between mandatory and additional type objects.
    - Added keyword args to insert, update and delete methods.
    - Added exception handling for direct copy.
    - Release the GIL while making a connection
    (as suggested by Peter Schuller).
    - If available, use decimal.Decimal for numeric types.
    - Allow DB wrapper to be used with DB-API 2 connections
    (as suggested by Chris Hilton).
    - Made private attributes of DB wrapper accessible.
    - Dropped dependence on mx.DateTime module.
    - Support for PQescapeStringConn() and PQescapeByteaConn();
    these are now also used by the internal _quote() functions.
    - Added 'int8' to INTEGER types. New SMALLINT type.
    - Added a way to find the number of rows affected by a query()
    with the classic pg module by returning it as a string.
    For single inserts, query() still returns the oid as an integer.
    The pgdb module already provides the "rowcount" cursor attribute
    for the same purpose.
    - Improved getnotify() by calling PQconsumeInput() instead of
    submitting an empty command.
    - Removed compatibility code for old OID munging style.
    - The insert() and update() methods now use the "returning" clause
    if possible to get all changed values, and they also check in advance
    whether a subsequent select is possible, so that ongoing transactions
    won't break if there is no select privilege.
    - Added "protocol_version" and "server_version" attributes.
    - Revived the "user" attribute.
    - The pg module now works correctly with composite primary keys;
    these are represented as frozensets.
    - Removed the undocumented and actually unnecessary "view" parameter
    from the get() method.
    - get() raises a nicer ProgrammingError instead of a KeyError
    if no primary key was found.
    - delete() now also works based on the primary key if no oid available
    and returns whether the row existed or not.

    D'Arcy J.M. Cain
    PyGreSQL Development Group
    D'Arcy J.M. Cain, Jan 1, 2009
    1. Advertisements

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. trewornan


    trewornan, Jun 28, 2003, in forum: Python
    Skip Montanaro
    Jun 28, 2003
  2. Benjamin Arai
    Benjamin Arai
    Feb 1, 2004
  3. Radu Stanciu
    Feb 18, 2004
  4. Chuck Amadi
    Jun 19, 2004
  5. Neil Zanella

    PyQt + PygreSQL

    Neil Zanella, Aug 10, 2004, in forum: Python
    Neil Zanella
    Aug 11, 2004

Share This Page