Psycopg – PostgreSQL database adapter for Python
************************************************

Psycopg is the most popular PostgreSQL database adapter for the Python
programming language.  Its main features are the complete
implementation of the Python DB API 2.0 specification and the thread
safety (several threads can share the same connection). It was
designed for heavily multi-threaded applications that create and
destroy lots of cursors and make a large number of concurrent
"INSERT"s or "UPDATE"s.

Psycopg 2 is mostly implemented in C as a libpq wrapper, resulting in
being both efficient and secure. It features client-side and server-
side cursors, asynchronous communication and notifications, COPY
support.  Many Python types are supported out-of-the-box and adapted
to matching PostgreSQL data types; adaptation can be extended and
customized thanks to a flexible objects adaptation system.

Psycopg 2 is both Unicode and Python 3 friendly.

-[ Contents ]-

* Installation

  * Prerequisites

  * Binary install from PyPI

  * Non-standard builds

  * Running the test suite

  * If you still have problems

* Basic module usage

  * Passing parameters to SQL queries

  * Adaptation of Python values to SQL types

  * Transactions control

  * Server side cursors

  * Thread and process safety

  * Using COPY TO and COPY FROM

  * Access to PostgreSQL large objects

  * Two-Phase Commit protocol support

* The "psycopg2" module content

  * Exceptions

  * Type Objects and Constructors

* The "connection" class

* The "cursor" class

* More advanced topics

  * Connection and cursor factories

  * Adapting new Python types to SQL syntax

  * Type casting of SQL types into Python objects

  * Asynchronous notifications

  * Asynchronous support

  * Support for coroutine libraries

  * Replication protocol support

* "psycopg2.extensions" – Extensions to the DB API

  * Classes definitions

  * SQL adaptation protocol objects

  * Database types casting functions

  * Additional exceptions

  * Coroutines support functions

  * Other functions

  * Isolation level constants

  * Transaction status constants

  * Connection status constants

  * Poll constants

  * Additional database types

* "psycopg2.extras" – Miscellaneous goodies for Psycopg 2

  * Connection and cursor subclasses

  * Replication support objects

  * Additional data types

  * Fast execution helpers

  * Coroutine support

* "psycopg2.errors" – Exception classes mapping PostgreSQL errors

* "psycopg2.sql" – SQL string composition

  * Module usage

  * "sql" objects

* "psycopg2.tz" –  "tzinfo" implementations for Psycopg 2

* "psycopg2.pool" – Connections pooling

* "psycopg2.errorcodes" – Error codes defined by PostgreSQL

* Frequently Asked Questions

  * Meta

  * Problems with transactions handling

  * Problems with type conversions

  * Best practices

  * Problems compiling and installing psycopg2

* Release notes

* License

  * psycopg2 and the LGPL

  * Alternative licenses
