================================================= Psycopg -- PostgreSQL database adapter for Python ================================================= .. sectionauthor:: Daniele Varrazzo Psycopg_ is the most popular PostgreSQL_ database adapter for the Python_ programming language. Its main features are the complete implementation of the Python |DBAPI|_ 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 :sql:`INSERT`\s or :sql:`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 :ref:`server-side ` cursors, :ref:`asynchronous communication ` and :ref:`notifications `, :ref:`COPY ` support. Many Python types are supported out-of-the-box and :ref:`adapted to matching PostgreSQL data types `; adaptation can be extended and customized thanks to a flexible :ref:`objects adaptation system `. Psycopg 2 is both Unicode and Python 3 friendly. .. _Psycopg: http://initd.org/psycopg/ .. _PostgreSQL: http://www.postgresql.org/ .. _Python: http://www.python.org/ .. _libpq: http://www.postgresql.org/docs/current/static/libpq.html .. rubric:: Contents .. toctree:: :maxdepth: 2 install usage module connection cursor advanced extensions extras sql tz pool errorcodes faq news .. ifconfig:: builder != 'text' .. rubric:: Indices and tables * :ref:`genindex` * :ref:`search` .. ifconfig:: todo_include_todos .. note:: **To Do items in the documentation** .. todolist::