1050
Comment:
|
3133
|
Deletions are marked like this. | Additions are marked like this. |
Line 7: | Line 7: |
licence:: platforms:: |
licence:: BSD-like platforms:: Unix, win32 (Cygwin); a native win32 port is in the works |
Line 15: | Line 15: |
licence:: platforms:: Python versions:: |
licence:: BSD-like (depends on mx.DateTime, which may be GPL-incompatible) platforms:: Unix, win32 Python versions:: 1.5.2 thru 2.2 Maintenance:: ? Hasn't been updated in a while (as of 10/2003) |
Line 20: | Line 22: |
* Alternative old nonstandard PostgreSQL interface |
|
Line 26: | Line 30: |
licence:: platforms:: |
Licence:: GPL Platforms:: Unix |
Line 29: | Line 33: |
Maintenance:: Last release 8/2001. Eventually merged with PyGresQL. http://zope.org/Members/tm/Full_Announce (as of 10/2003) | |
Line 36: | Line 41: |
URL:: http://initd.org/Software/psycopg licence:: platforms:: |
URL:: http://initd.org/software/initd/psycopg Licence:: GPL Platforms:: Unix, win32 (beta) |
Line 40: | Line 45: |
Maintenance:: Active development, frequent updates (as of 10/2003) | |
Line 43: | Line 49: |
* 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 |
|
Line 44: | Line 52: |
* Written for heavily multithreaded applications in mind. * Offers a few advanced features over PoPy |
|
Line 48: | Line 59: |
licence:: platforms:: Python versions:: |
Licence:: BSD-like Platforms:: Unix, win32 Python versions:: 2.1 thru 2.3 Maintenance:: Active, sporatic (as of 10/2003) |
Line 53: | Line 65: |
* 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. |
|
Line 70: | Line 85: |
* ["Zope"] * DbDoc * three PostgreSQL drivers (using pgdb, included with the PostgreSQL distro, pypgsql, and psycopg) exist for ["PyDO"] (Python Data Objects) |
|
Line 72: | Line 90: |
* 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 |
|
Line 74: | Line 106: |
* No native Windows version (yet), but there is a Cygwin version. |
Masthead
- URL
- licence
- BSD-like
- platforms
- Unix, win32 (Cygwin); a native win32 port is in the works
DB API 2.0 Drivers
PyGresQL
- URL
- licence
BSD-like (depends on mx.DateTime, which may be GPL-incompatible)
- platforms
- Unix, win32
- Python versions
- 1.5.2 thru 2.2
- Maintenance
- ? Hasn't been updated in a while (as of 10/2003)
Extensions to DB API
- Alternative old nonstandard PostgreSQL interface
Comments
PoPy
- URL
- 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
- 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
- Licence
- BSD-like
- 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"]
- 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.