Latest articles
The psycopg3 adaptation system
Posted by Daniele Varrazzo on 2020-11-24
Tagged as
psycopg3,
development,
news
The adaptation system between Python objects and PostgreSQL types is at the core of psycopg2 and psycopg3. The flexibility of the psycopg2 adaptation system provides good out-of-the-box object mapping and allows users to customise it to suit any need. Do you want your decimal numbers returned as float because you need speed over pennies? Do you want to map PostgreSQL Infinity dates to the 25th of December 3099? That's certainly doable.
The psycopg3 adaptation system needs some modification compared to psycopg2, because psycopg3 uses the "extended query protocol" to send query parameters separately from the query. Together, with the differences to accommodate, there is also a chance to improve a system that has been in use for several years and has shown its shortcomings together with its strengths.
The new COPY support in psycopg3
Posted by Daniele Varrazzo on 2020-11-15
Tagged as
psycopg3,
development,
news
psycopg2 allows interaction with PostgreSQL COPY commands. However what is possible to do with them is relatively limited: the only possible interaction is with file-like objects:
- there is no adaptation from Python objects to PostgreSQL, as there is for normal queries: data must be formatted "manually" by the user;
- psycopg2 "pulls" data from the file: writing a system that produces data and pushes it into PostgreSQL is a very contrived operation, requiring to write a blocking file-like object;
- there is no support for asynchronous copy.
psycopg3 addresses these shortcomings and makes it easy to write Python programs producing data and pushing it efficiently to the database using the COPY protocol.
Psycopg 2.8.6 released
Posted by Daniele Varrazzo on 2020-09-06
Tagged as
news,
release
Psycopg 2.8.6 has been released.
Psycopg 2.8.5 released
Posted by Daniele Varrazzo on 2020-04-06
Tagged as
news,
release
Psycopg 2.8.5 has been released.
This release adds support for AIX and brings a few bug fixes.
Psycopg 2.8.4 released
Posted by Daniele Varrazzo on 2019-10-20
Tagged as
news,
release
Psycopg 2.8.4 has been released.
The release brings a few assorted bugfixes and adds support for Python 3.8 and PostgreSQL 12.
Psycopg 2.8.3 released
Posted by Daniele Varrazzo on 2019-06-14
Tagged as
news,
release
We have released Psycopg 2.8.3, which includes a slight change to the logical replication.
Choosing the right frequency to send replication feedback messages from the client to the server was previously the developer's responsibility, with too many feedback messages being a waste of bandwidth and server resources, too few slowing down WAL cleanup and possibly preventing a server graceful shutdown.
Psycopg 2.8.1, 2.8.2 released
Posted by Daniele Varrazzo on 2019-04-14
Tagged as
news,
release
Hello,
We have just released Psycopg 2.8.2; a few days ago Psycopg 2.8.1 was released.
Some of the bugs addressed are ordinary teething problem with the 2.8 release, but an important change landed with 2.8.2: binary packages now ship with OpenSSL 1.1 instead of 1.0. This should fix concurrency problems on connection experienced both on Windows and Linux. Many thanks to Matthew Brett and Jason Erickson for this improvement!
Psycopg 2.8 released
Posted by Daniele Varrazzo on 2019-04-04
Tagged as
news,
release
After about two years from the previous major release, psycopg 2.8 is finally here!
Among the highlights, PostgreSQL errors are now mapped to Python exceptions for a more idiomatic way to handle them. Several additions allow a better insight of the connection status and query results.
Behind the scene, asynchronous communication and concurrency received several improvements, and dropping support for older versions of Python gave the chance to refactor and modernise the codebase (with the especial help from Jon Dufresne who ruthlessly butchered our code into a streamlined pulp).
Thank you very much to everyone contributing so far. Happy hacking!
Psycopg 2.7.5 released
Posted by Daniele Varrazzo on 2018-06-17
Tagged as
news,
release
psycopg2 version 2.7.5 has been released, fixing a few bugs found in the last months:
Psycopg 2.7.4 released
Posted by Daniele Varrazzo on 2018-02-08
Tagged as
news,
release
We have released Psycopg version 2.7.4, bringing a few bug fixes... and working out the problem with Wheel packages.