<feed xmlns='http://www.w3.org/2005/Atom'>
<title>django.git/tests/backends/postgresql, branch main</title>
<subtitle>django
</subtitle>
<id>http://cgit.adnoto.dev/django.git/atom?h=main</id>
<link rel='self' href='http://cgit.adnoto.dev/django.git/atom?h=main'/>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/'/>
<updated>2026-04-30T23:52:11Z</updated>
<entry>
<title>Fixed #37075 -- Allowed overriding the PostgreSQL pool's "check" callable.</title>
<updated>2026-04-30T23:52:11Z</updated>
<author>
<name>Raoni Timo</name>
<email>raoni@relume.io</email>
</author>
<published>2026-04-30T13:57:27Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=9f790ef1a0f356cf6342b5d57bbaeac35aed0d9f'/>
<id>urn:sha1:9f790ef1a0f356cf6342b5d57bbaeac35aed0d9f</id>
<content type='text'>
Setting "check" in OPTIONS["pool"] previously raised TypeError because the
PostgreSQL backend always passed check= to ConnectionPool() and unpacked
**pool_options on top, regardless of CONN_HEALTH_CHECKS. The user's callable
now takes precedence via setdefault(); pool_options is copied first to avoid
mutating the user's settings dict.
</content>
</entry>
<entry>
<title>Fixed #36822 -- Added parameter limit for PostgreSQL with server-side binding.</title>
<updated>2026-01-16T14:15:53Z</updated>
<author>
<name>JaeHyuck Sa</name>
<email>wogur981208@gmail.com</email>
</author>
<published>2026-01-15T13:12:48Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=211b63142786ea77953de4f2850961e259c5b335'/>
<id>urn:sha1:211b63142786ea77953de4f2850961e259c5b335</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Refs #33647 -- Fixed silent data truncation in bulk_create on Postgres.</title>
<updated>2025-12-31T15:41:55Z</updated>
<author>
<name>Simon Charette</name>
<email>charette.s@gmail.com</email>
</author>
<published>2025-12-23T06:25:56Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=d6ae2ed868e43671afc4d433c3d8f4d27f7eb555'/>
<id>urn:sha1:d6ae2ed868e43671afc4d433c3d8f4d27f7eb555</id>
<content type='text'>
Regression in a16eedcf9c69d8a11d94cac1811018c5b996d491.

The UNNEST strategy is affected by the same problem bulk_update has wrt/
to silent data truncation due to its usage of db_type which always returns
a parametrized subtype.
</content>
</entry>
<entry>
<title>Refs #24928 -- Added introspection support for PostgreSQL HStoreField.</title>
<updated>2025-11-14T12:36:15Z</updated>
<author>
<name>Mariusz Felisiak</name>
<email>felisiak.mariusz@gmail.com</email>
</author>
<published>2025-11-14T12:36:15Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=35f86b641a4eb26fa2b7c3842b6d374834a4ea6b'/>
<id>urn:sha1:35f86b641a4eb26fa2b7c3842b6d374834a4ea6b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fixed #36623 -- Dropped support for PostgreSQL 14 and PostGIS 3.1.</title>
<updated>2025-10-03T21:12:57Z</updated>
<author>
<name>Mariusz Felisiak</name>
<email>felisiak.mariusz@gmail.com</email>
</author>
<published>2025-10-03T11:17:01Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=5bd775703c361d05458f1d81684500705d0f51ea'/>
<id>urn:sha1:5bd775703c361d05458f1d81684500705d0f51ea</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Refs #36500 -- Rewrapped long docstrings and block comments via a script.</title>
<updated>2025-07-23T23:17:55Z</updated>
<author>
<name>django-bot</name>
<email>ops@djangoproject.com</email>
</author>
<published>2025-07-23T03:41:41Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=69a93a88edb56ba47f624dac7a21aacc47ea474f'/>
<id>urn:sha1:69a93a88edb56ba47f624dac7a21aacc47ea474f</id>
<content type='text'>
Rewrapped long docstrings and block comments to 79 characters + newline
using script from https://github.com/medmunds/autofix-w505.
</content>
</entry>
<entry>
<title>Fixed #36502 -- Restored UNNEST strategy for foreign key bulk inserts on PostgreSQL.</title>
<updated>2025-07-10T16:33:00Z</updated>
<author>
<name>Simon Charette</name>
<email>charette.s@gmail.com</email>
</author>
<published>2025-07-10T16:33:00Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=0fe218842e0e396e3ab3982bd21227968a9e7fd8'/>
<id>urn:sha1:0fe218842e0e396e3ab3982bd21227968a9e7fd8</id>
<content type='text'>
Regression in 764af7a3d6c0b543dcf659a2c327f214da768fe4.</content>
</entry>
<entry>
<title>Fixed #36088 -- Avoided unnecessary DEFAULT usage on bulk_create().</title>
<updated>2025-02-01T17:43:10Z</updated>
<author>
<name>Simon Charette</name>
<email>charette.s@gmail.com</email>
</author>
<published>2024-12-09T23:38:18Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=4608d34b346c28d5d227363c881d3279378f40b3'/>
<id>urn:sha1:4608d34b346c28d5d227363c881d3279378f40b3</id>
<content type='text'>
When all values of a field with a db_default are DatabaseDefault, which
is the case most of the time, there is no point in specifying explicit
DEFAULT for all INSERT VALUES as that's what the database will do anyway
if not specified.

In the case of PostgreSQL doing so can even be harmful as it prevents
the usage of the UNNEST strategy and in the case of Oracle, which
doesn't support the usage of the DEFAULT keyword, it unnecessarily
requires providing literal db defaults.

Thanks Lily Foote for the review.
</content>
</entry>
<entry>
<title>Fixed #35936 -- Used unnest for bulk inserts on Postgres when possible.</title>
<updated>2024-12-11T12:56:18Z</updated>
<author>
<name>Simon Charette</name>
<email>charette.s@gmail.com</email>
</author>
<published>2024-11-17T05:30:00Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=a16eedcf9c69d8a11d94cac1811018c5b996d491'/>
<id>urn:sha1:a16eedcf9c69d8a11d94cac1811018c5b996d491</id>
<content type='text'>
This should make bulk_create significantly faster on Postgres when provided
only literal values.

Thanks James Sewell for writing about this technique, Tom Forbes for
validating the performance benefits, David Sanders and Mariusz Felisiak
for the review.
</content>
</entry>
<entry>
<title>Fixed #35688 -- Restored timezone and role setters to be PostgreSQL DatabaseWrapper methods.</title>
<updated>2024-08-28T22:25:07Z</updated>
<author>
<name>Sarah Boyce</name>
<email>42296566+sarahboyce@users.noreply.github.com</email>
</author>
<published>2024-08-19T14:51:31Z</published>
<link rel='alternate' type='text/html' href='http://cgit.adnoto.dev/django.git/commit/?id=7380ac57340653854bc2cfe0ed80298cdac6061d'/>
<id>urn:sha1:7380ac57340653854bc2cfe0ed80298cdac6061d</id>
<content type='text'>
Following the addition of PostgreSQL connection pool support in
Refs #33497, the methods for configuring the database role and timezone
were moved to module-level functions. This change prevented subclasses
of DatabaseWrapper from overriding these methods as needed, for example,
when creating wrappers for other PostgreSQL-based backends.

Thank you Christian Hardenberg for the report and to
Florian Apolloner and Natalia Bidart for the review.

Regression in fad334e1a9b54ea1acb8cce02a25934c5acfe99f.

Co-authored-by: Natalia &lt;124304+nessita@users.noreply.github.com&gt;
</content>
</entry>
</feed>
