PostgreSQL
- URL
- licence
- BSD
- platforms
Unix, win32 (NT-based Microsoft operating system)
Pros
From the 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
- [To be written]
DB API 2.0 Drivers
psycopg2
- URL
- Licence
- LGPL
- Platforms
- Unix, win32
- Python versions
- 2.4, 2.5, 2.6, 2.7, 3.1, 3.2
- Maintenance
- Active development
Psycopg is the most popular PostgreSQL adapter for the Python programming language. At its core it fully implements the Python DB API 2.0 specifications. Several extensions allow access to many of the features offered by PostgreSQL.
Extended documentation available on http://initd.org/psycopg/docs/
PyGreSQL
- URL
- licence
- BSD-like
- platforms
- Unix, win32
- Python versions
- 2.6 thru 3.5
- Maintenance
- Last version released is 5.0 (2016-03-20)
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.4 - 2.7
mxODBC is compatible with the PostgreSQL ODBC driver on Windows and Unix.
Note that you have to enable the advanced option "Use bytea for lo" in case you want to work with BLOBs.
pyodbc
- URL
- License
- MIT
- Platforms
- Windows, Linux, MacOS X, FreeBSD, Solaris, Any (source provided)
- Python versions
- 2.4 - 2.6
