2014-08-22 09:08:38 +04: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
|
|
|
|
-------------
|
|
|
|
|
2017-03-13 15:13:47 +03:00
|
|
|
Documentation is included in the ``doc`` directory and is `available online`__.
|
2014-08-22 09:08:38 +04:00
|
|
|
|
|
|
|
.. __: http://initd.org/psycopg/docs/
|
|
|
|
|
2018-01-16 21:28:27 +03:00
|
|
|
For any other resource (source code repository, bug tracker, mailing list)
|
|
|
|
please check the `project homepage`__.
|
|
|
|
|
2014-08-22 09:08:38 +04:00
|
|
|
|
|
|
|
Installation
|
|
|
|
------------
|
|
|
|
|
2018-01-16 21:28:27 +03:00
|
|
|
Building Psycopg requires a few prerequisites (a C compiler, some development
|
|
|
|
packages): please check the install_ and the faq_ documents in the ``doc`` dir
|
|
|
|
or online for the details.
|
|
|
|
|
|
|
|
If prerequisites are met, you can install psycopg like any other Python
|
|
|
|
package, using ``pip`` to download it from PyPI_::
|
2017-02-16 20:17:13 +03:00
|
|
|
|
2017-03-13 15:13:47 +03:00
|
|
|
$ pip install psycopg2
|
2017-02-16 20:17:13 +03:00
|
|
|
|
2018-01-16 21:28:27 +03:00
|
|
|
or using ``setup.py`` if you have downloaded the source package locally::
|
|
|
|
|
|
|
|
$ python setup.py build
|
|
|
|
$ sudo python setup.py install
|
|
|
|
|
|
|
|
You can also obtain a stand-alone package, not requiring a compiler or
|
2018-01-29 06:09:27 +03:00
|
|
|
external libraries, by installing the `psycopg2-binary`_ package from PyPI::
|
2018-01-16 21:28:27 +03:00
|
|
|
|
|
|
|
$ pip install psycopg2-binary
|
|
|
|
|
|
|
|
The binary package is a practical choice for development and testing but in
|
|
|
|
production it is advised to use the package built from sources.
|
2014-08-25 02:33:14 +04:00
|
|
|
|
2018-04-26 15:52:41 +03:00
|
|
|
.. _PyPI: https://pypi.org/project/psycopg2/
|
|
|
|
.. _psycopg2-binary: https://pypi.org/project/psycopg2-binary/
|
2017-03-13 15:13:47 +03:00
|
|
|
.. _install: http://initd.org/psycopg/docs/install.html#install-from-source
|
|
|
|
.. _faq: http://initd.org/psycopg/docs/faq.html#faq-compile
|
2014-08-22 09:08:38 +04:00
|
|
|
|
|
|
|
.. __: http://initd.org/psycopg/
|
2016-12-24 06:28:34 +03:00
|
|
|
|
|
|
|
|
2017-02-16 18:59:37 +03:00
|
|
|
:Linux/OSX: |travis|
|
|
|
|
:Windows: |appveyor|
|
|
|
|
|
|
|
|
.. |travis| image:: https://travis-ci.org/psycopg/psycopg2.svg?branch=master
|
2016-12-24 06:28:34 +03:00
|
|
|
:target: https://travis-ci.org/psycopg/psycopg2
|
2017-02-16 18:59:37 +03:00
|
|
|
:alt: Linux and OSX build status
|
|
|
|
|
2017-02-24 04:49:45 +03:00
|
|
|
.. |appveyor| image:: https://ci.appveyor.com/api/projects/status/github/psycopg/psycopg2?branch=master&svg=true
|
2017-06-08 22:07:11 +03:00
|
|
|
:target: https://ci.appveyor.com/project/psycopg/psycopg2/branch/master
|
2017-02-16 18:59:37 +03:00
|
|
|
:alt: Windows build status
|