Differences between revisions 11 and 12
Revision 11 as of 2004-01-13 10:59:54
Size: 3187
Editor: 80
Comment:
Revision 12 as of 2004-12-27 15:43:33
Size: 3167
Comment:
Deletions are marked like this. Additions are marked like this.
Line 14: Line 14:
  URL:: http://www.druid.net/pygresql/   URL:: http://www.PyGreSQL.org/
Line 17: Line 17:
  Python versions:: 1.5.2 thru 2.2
  Maintenance:: ? Hasn't been updated in a while (as of 10/2003)
  Python versions:: 1.5.2 thru 2.4
  Maintenance:: Last version released Dec 13, 2004

TableOfContents

Masthead

URL

http://www.postgresql.org/

licence
BSD-like
platforms
Unix, win32 (Cygwin); a native win32 port is in the works

DB API 2.0 Drivers

PyGresQL

URL

http://www.PyGreSQL.org/

licence
BSD-like (depends on mxDateTime, which may be GPL-incompatible)
platforms
Unix, win32
Python versions
1.5.2 thru 2.4
Maintenance
Last version released Dec 13, 2004

Extensions to DB API

  • Alternative old nonstandard PostgreSQL interface

Comments

PoPy

URL

http://popy.sourceforge.net

Licence
GPL
Platforms
Unix
Python versions
Maintenance

Last release 8/2001. Eventually merged with PyGresQL. http://zope.org/Members/tm/Full_Announce (as of 10/2003)

Extensions to DB API

Comments

psycopg

URL

http://initd.org/software/initd/psycopg

Licence
GPL
Platforms
Unix, win32 (beta)
Python versions
Maintenance
Active development, frequent updates (as of 10/2003)

Extensions to DB API

  • dictfetchone(), dictfetchmany(), dictfechall() methods on the cursor object; these will return dictionaries instead of tuples, so you can access rows by name instead of by index

Comments

  • Written for heavily multithreaded applications in mind.
  • Offers a few advanced features over PoPy

pyPgSQL

URL

http://pypgsql.sourceforge.net

Licence
BSD-like (depends on mxDateTime, which may be GPL-incompatible)
Platforms
Unix, win32
Python versions
2.1 thru 2.3
Maintenance
Active, sporatic (as of 10/2003)

Extensions to DB API

  • The fetch methods on cursors return an instances of PgResultSet, which you can use to access rows by index (like in DB-API), dictionary-like or with attributes. This feature can be turned off for a slight performance boost.

  • Support for PostgreSQL notifications in the low-level API.

Comments

Other Drivers

driver name

URL
licence
platforms
Python versions

Programming Model

Comments

Supported Python Applications

  • ["Zope"]
  • DbDoc

  • three PostgreSQL drivers (using pgdb, included with the PostgreSQL distro, pypgsql, and psycopg) exist for ["PyDO"] (Python Data Objects)

Pros

  • Good compliance with SQL standards
  • Supports many SQL features
    • Foreign keys
    • Implements all SQL99 join types: inner join, left, right, full outer join, natural join
    • Subqueries
    • UNION and UNION ALL, INTERSECT and EXCEPT
    • Views
    • Triggers
  • Support for international character sets, multibyte character encodings, Unicode
  • Supports many languages for writing server-side functions/procedures and aggregates: Python, C, Perl, Tcl, PL/PgSQL, ...
  • ACID compliant
  • Support for rollback
  • Serializable transaction isolation
  • Multi-Version Concurrency Control (MVCC) for highly scalable concurrent applications

Cons

  • No native Windows version (yet), but there is a Cygwin version.

PostgreSQL (last edited 2021-03-31 06:49:56 by TonyLocke)

Unable to edit the page? See the FrontPage for instructions.