
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
TO/COPY FROM" 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 ]-

* Introduction

* Installation

  * Install from a package

  * Install from source

  * Creating a debug build

  * 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

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

  * SQL adaptation protocol objects

  * Database types casting functions

  * Additional exceptions

  * 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

  * Additional data types

  * Fractional time zones

  * Coroutine support

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

* "psycopg2.pool" -- Connections pooling

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

* Frequently Asked Questions

  * Problems with transactions handling

  * Problems with type conversions

  * Best practices

  * Problems compiling and deploying psycopg2

* Release notes

  * Current release

  * What's new in psycopg 2.6

  * What's new in psycopg 2.5

  * What's new in psycopg 2.4

  * What's new in psycopg 2.3

  * What's new in psycopg 2.2

  * What's new in psycopg 2.0
