1050
Comment:
|
3197
PoPy team never responded after initial agreement.
|
Deletions are marked like this. | Additions are marked like this. |
Line 2: | Line 2: |
[[TableOfContents]] | |
Line 4: | Line 3: |
== Masthead == | = PostgreSQL = |
Line 7: | Line 6: |
licence:: platforms:: |
licence:: BSD platforms:: Unix, win32 ([http://www.postgresql.org/docs/faqs.FAQ_MINGW.html NT-based Microsoft operating system]) == Pros == From the [http://www.postgresql.org/about/ features page]: * 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 == * Native Windows version is implemented in the PostgreSQL 8.x version, and just for Windows NT 4.0 / 2000 / XP / 2003. For running on other Windows platform or an older version than 8.0 there is a Cygwin version. ---- |
Line 12: | Line 36: |
=== PyGresQL === | === PyGreSQL === |
Line 14: | Line 38: |
URL:: http://www.druid.net/pygresql/ licence:: platforms:: |
URL:: http://www.pygresql.org/ licence:: BSD-like platforms:: Unix, win32 Python versions:: 1.5.2 thru 2.4 Maintenance:: Last version released is 3.8.1 (2006-06-05) === psycopg === URL:: http://initd.org/software/initd/psycopg Licence:: GPL Platforms:: Unix, win32 (beta) |
Line 18: | Line 50: |
Maintenance:: Active development, frequent updates (as of 10/2003) | |
Line 21: | Line 54: |
==== Comments ==== === PoPy === URL:: http://popy.sourceforge.net licence:: platforms:: Python versions:: ==== 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 |
Line 34: | Line 58: |
=== psycopg === URL:: http://initd.org/Software/psycopg licence:: platforms:: Python versions:: ==== Extensions to DB API ==== ==== Comments ==== |
* Written for heavily multithreaded applications in mind. * Offers a few advanced features over PoPy * Win32 binaries can be found here http://www.stickpeople.com/projects/python/psycopg/ |
Line 48: | Line 65: |
licence:: platforms:: Python versions:: |
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) |
Line 54: | Line 72: |
==== Comments ==== | * 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 56: | Line 75: |
== Other Drivers == | === mxODBC === |
Line 58: | Line 77: |
=== driver name === | URL:: http://www.egenix.com/products/python/mxODBC/ Licence:: eGenix Commercial License Platforms:: Windows, Linux, MacOS X, FreeBSD, Solaris, AIX Python versions:: 2.1 - 2.5 |
Line 60: | Line 82: |
URL:: licence:: platforms:: Python versions:: |
mxODBC is compatible with the [http://www.postgresql.org/ftp/odbc/versions/ PostgreSQL ODBC driver] on Windows and Unix. |
Line 65: | Line 84: |
==== Programming Model ==== ==== Comments ==== |
---- |
Line 70: | Line 87: |
== Pros == == Cons == |
* ["Zope"] * DbDoc * three PostgreSQL drivers (using pgdb, included with the PostgreSQL distro, pypgsql, and psycopg) exist for ["PyDO"] (Python Data Objects) |
PostgreSQL
- URL
- licence
- BSD
- platforms
Unix, win32 ([http://www.postgresql.org/docs/faqs.FAQ_MINGW.html NT-based Microsoft operating system])
Pros
From the [http://www.postgresql.org/about/ features page]:
- 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
- Native Windows version is implemented in the PostgreSQL 8.x version, and just for Windows NT 4.0 / 2000 / XP / 2003. For running on other Windows platform or an older version than 8.0 there is a Cygwin version.
DB API 2.0 Drivers
PyGreSQL
- URL
- licence
- BSD-like
- platforms
- Unix, win32
- Python versions
- 1.5.2 thru 2.4
- Maintenance
- Last version released is 3.8.1 (2006-06-05)
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
Win32 binaries can be found here http://www.stickpeople.com/projects/python/psycopg/
pyPgSQL
- URL
- 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.
mxODBC
- URL
- Licence
- eGenix Commercial License
- Platforms
- Windows, Linux, MacOS X, FreeBSD, Solaris, AIX
- Python versions
- 2.1 - 2.5
mxODBC is compatible with the [http://www.postgresql.org/ftp/odbc/versions/ PostgreSQL ODBC driver] on Windows and Unix.
Supported Python Applications
- ["Zope"]
- three PostgreSQL drivers (using pgdb, included with the PostgreSQL distro, pypgsql, and psycopg) exist for ["PyDO"] (Python Data Objects)