PostgreSQL database adapter for the Python programming language
Go to file
Greg Ward 53c1607644 Always raise OperationalError when connection was closed externally.
From the DB-API (https://www.python.org/dev/peps/pep-0249/):

  OperationalError

  Exception raised for errors that are related to the database's
  operation and not necessarily under the control of the programmer,
  e.g. an unexpected disconnect occurs, [...]

Additionally, psycopg2 was inconsistent, at least in the async case:
depending on how the "connection closed" error was reported from the
kernel to libpq, it would sometimes raise OperationalError and
sometimes DatabaseError. Now it always raises OperationalError.
2016-06-28 18:03:05 -04:00
doc Improve sentence. 2016-03-10 12:07:38 +00:00
examples cleanup remaining GPL license text 2014-05-20 09:50:53 -07:00
lib Update psycopg1.py 2016-03-10 11:58:37 +00:00
psycopg Always raise OperationalError when connection was closed externally. 2016-06-28 18:03:05 -04:00
sandbox cleanup remaining GPL license text 2014-05-20 09:42:41 -07:00
scripts Don't need to build the env for a sdist 2014-09-01 16:29:38 +01:00
tests Always raise OperationalError when connection was closed externally. 2016-06-28 18:03:05 -04:00
.gitignore Added scripts to release and upload docs 2014-09-01 16:29:38 +01:00
.travis.yml Add .travis.yml for Travis CI (http://travis-ci.org/) 2012-06-15 08:07:19 -07:00
AUTHORS Preparing release 2.3.0-beta1 2010-11-06 15:50:39 +01:00
INSTALL Dropped content from the INSTALL file 2014-08-24 02:06:09 +01:00
LICENSE Changes license to LGPL3 + OpenSSL exception on all source files 2010-02-12 23:34:53 +01:00
Makefile Fixed 'make sdist' to work with setuptools 2016-03-08 04:34:12 +00:00
MANIFEST.in Fixed 'make sdist' to work with setuptools 2016-03-08 04:34:12 +00:00
NEWS Fixed read() exception propagation in copy_from 2016-03-08 05:12:06 +00:00
psycopg2.cproj Dropped outdated HACKING file 2014-08-24 02:06:09 +01:00
psycopg2.sln New 'withhold' parameter for connection.cursor() 2011-08-10 18:25:46 +02:00
README.rst Direct link to the install docs in the readme 2014-08-24 23:33:14 +01:00
setup.cfg Dropped HAVE_PQFREEMEM flag 2014-08-24 01:43:12 +01:00
setup.py Start advertising Py 3.5 support 2016-03-08 05:13:57 +00:00
tox.ini Dropped Zope support 2012-12-03 02:53:20 +00:00

psycopg2 - Python-PostgreSQL Database Adapter
=============================================

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.


Documentation
-------------

Documentation is included in the 'doc' directory and is `available online`__.

.. __: http://initd.org/psycopg/docs/


Installation
------------

If all the dependencies are met (i.e. you have the Python and libpq
development packages installed in your system) the standard::

    python setup.py build
    sudo python setup.py install

should work no problem.  In case you have any problem check the 'install' and
the 'faq' documents in the docs or online__.

.. __: http://initd.org/psycopg/docs/install.html

For any other resource (source code repository, bug tracker, mailing list)
please check the `project homepage`__.

.. __: http://initd.org/psycopg/