<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/postgresql-adapter-for-python-7nbak9vl7" -->

---
title: PostgreSQL adapter for Python | daily.dev
description: Psycopg, the popular PostgreSQL adapter for Python, has released versions 2.6 and 2.5.5. Version 2.6 adds support for large objects larger than 2GB (requiring...
canonical: https://daily.dev/posts/postgresql-adapter-for-python-7nbak9vl7
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: PostgreSQL adapter for Python | daily.dev
og:description: Psycopg, the popular PostgreSQL adapter for Python, has released versions 2.6 and 2.5.5. Version 2.6 adds support for large objects larger than 2GB (requiring...
og:url: https://daily.dev/posts/postgresql-adapter-for-python-7nbak9vl7
og:image: https://api.daily.dev/og/posts/7nbAK9vl7.png
og:image:alt: PostgreSQL adapter for Python
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# PostgreSQL adapter for Python

**[Psycopg](https://daily.dev/sources/psycopg)** · 2 min read · 0 upvotes · 0 comments

## Summary

Psycopg, the popular PostgreSQL adapter for Python, has released versions 2.6 and 2.5.5. Version 2.6 adds support for large objects larger than 2GB (requiring a 64-bit client and PostgreSQL 9.3+ server and client library) and improved conversion between Python time objects with tzinfo and PostgreSQL timetz data. It also fixes a Json adapter str() bug. Version 2.5.5 includes several bug fixes: named cursors used as context managers no longer swallow exceptions on exit, cursor.description can now be pickled, read error messages in COPY FROM are propagated, and PostgreSQL's time value 24:00 now correctly converts to Python's 00:00. Packagers are notified that the 2.6 source tarball no longer includes pre-rendered HTML documentation, though Makefile targets are provided to build it.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://www.psycopg.org/articles/2015/02/09/psycopg-26-and-255-released>

## Questions this post answers

### What's new in Psycopg 2.6 for PostgreSQL large objects?

Psycopg 2.6 adds support for the large objects 64-bit API, allowing access to large objects larger than 2GB. This feature requires a 64-bit client along with at least PostgreSQL 9.3 for both the server and client library. It was developed with contributions from Blake Rouse and the MAAS team.

_Track driver-level feature updates like this one on daily.dev before upgrading a PostgreSQL-backed Python app._

### Does psycopg2 2.6 still ship HTML documentation in the source tarball?

No, starting with psycopg2 2.6 the source tarball no longer includes pre-rendered HTML documentation. Packagers instead need to use the provided Makefile targets to build the documentation themselves.

_daily.dev keeps packagers aware of build and packaging changes like this psycopg2 tarball update._

### How does psycopg2 2.5.5 fix the named cursor context manager exception bug?

In psycopg2 2.5.5, named cursors used as context managers no longer swallow exceptions raised on exit, matching expected Python context manager behavior. The release also fixes pickling of cursor.description, propagates read error messages during COPY FROM, and corrects PostgreSQL's time value 24:00 to convert properly to Python's 00:00.

_Developers debugging psycopg2 cursor quirks can follow patch-level fixes like these on daily.dev._

---

Tags: [#python](https://daily.dev/tags/python), [#postgresql](https://daily.dev/tags/postgresql)

[View this post on daily.dev](https://daily.dev/posts/postgresql-adapter-for-python-7nbak9vl7)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"PostgreSQL adapter for Python","url":"https://daily.dev/posts/postgresql-adapter-for-python-7nbak9vl7","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/postgresql-adapter-for-python-7nbak9vl7"},"datePublished":"2026-08-23T12:22:15.278Z","dateModified":"2026-08-23T12:52:38.073Z","description":"Psycopg, the popular PostgreSQL adapter for Python, has released versions 2.6 and 2.5.5. Version 2.6 adds support for large objects larger than 2GB (requiring...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/b0cbd2ac8948f96ab39fa6a90db7464f?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/b0cbd2ac8948f96ab39fa6a90db7464f?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Psycopg","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Psycopg","logo":"https://media.daily.dev/image/upload/s--5N-KNNWk--/f_auto,q_auto/v1787487485/logos/psycopg?_a=BAMAMicg0","url":"https://daily.dev/sources/psycopg"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/postgresql-adapter-for-python-7nbak9vl7","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"python,postgresql","timeRequired":"PT2M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Psycopg","item":"https://daily.dev/sources/psycopg"},{"@type":"ListItem","position":3,"name":"PostgreSQL adapter for Python"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/postgresql-adapter-for-python-7nbak9vl7#faq","mainEntity":[{"@type":"Question","name":"What's new in Psycopg 2.6 for PostgreSQL large objects?","acceptedAnswer":{"@type":"Answer","text":"Psycopg 2.6 adds support for the large objects 64-bit API, allowing access to large objects larger than 2GB. This feature requires a 64-bit client along with at least PostgreSQL 9.3 for both the server and client library. It was developed with contributions from Blake Rouse and the MAAS team. Track driver-level feature updates like this one on daily.dev before upgrading a PostgreSQL-backed Python app."}},{"@type":"Question","name":"Does psycopg2 2.6 still ship HTML documentation in the source tarball?","acceptedAnswer":{"@type":"Answer","text":"No, starting with psycopg2 2.6 the source tarball no longer includes pre-rendered HTML documentation. Packagers instead need to use the provided Makefile targets to build the documentation themselves. daily.dev keeps packagers aware of build and packaging changes like this psycopg2 tarball update."}},{"@type":"Question","name":"How does psycopg2 2.5.5 fix the named cursor context manager exception bug?","acceptedAnswer":{"@type":"Answer","text":"In psycopg2 2.5.5, named cursors used as context managers no longer swallow exceptions raised on exit, matching expected Python context manager behavior. The release also fixes pickling of cursor.description, propagates read error messages during COPY FROM, and corrects PostgreSQL's time value 24:00 to convert properly to Python's 00:00. Developers debugging psycopg2 cursor quirks can follow patch-level fixes like these on daily.dev."}}]}
```

