]> git.ipfire.org Git - thirdparty/psycopg.git/log
thirdparty/psycopg.git
2 months agofix: collect notifies only if no handler was registered fix-1091 1092/head
Daniele Varrazzo [Wed, 14 May 2025 15:16:03 +0000 (17:16 +0200)] 
fix: collect notifies only if no handler was registered

If someone is listening to notifications by using an handler, the
notifies backlog would fill without ever being emptied.

This change has the risk of breaking something if someone is relying on
notifies being received both via callback and via generator, but I don't
know how to satisfy it without creating a leak to users who don't use the
generator. Will ask around...

Fix #1091.

2 months agochore: bump psycopg package version to 3.2.10.dev1
Daniele Varrazzo [Wed, 14 May 2025 15:20:22 +0000 (17:20 +0200)] 
chore: bump psycopg package version to 3.2.10.dev1

2 months agochore: bump psycopg package version to 3.2.9 3.2.9
Daniele Varrazzo [Tue, 13 May 2025 14:13:03 +0000 (16:13 +0200)] 
chore: bump psycopg package version to 3.2.9

2 months agoMerge branch 'fix-1088' into maint-3.2
Daniele Varrazzo [Tue, 13 May 2025 14:12:54 +0000 (16:12 +0200)] 
Merge branch 'fix-1088' into maint-3.2

2 months agodocs: mention fix in version 3.2.9
Daniele Varrazzo [Tue, 13 May 2025 14:07:47 +0000 (16:07 +0200)] 
docs: mention fix in version 3.2.9

2 months agoRevert "ci: install win32 libpq from conda force"
Daniele Varrazzo [Tue, 13 May 2025 12:55:17 +0000 (14:55 +0200)] 
Revert "ci: install win32 libpq from conda force"

This reverts commit ba4187d830a90f3e8edba10260d213079b7b5912.

Fix #1088

2 months agochore: bump psycopg package version to 3.2.9.dev1
Daniele Varrazzo [Sun, 11 May 2025 17:17:01 +0000 (19:17 +0200)] 
chore: bump psycopg package version to 3.2.9.dev1

2 months agochore: bump psycopg package version to 3.2.8 3.2.8
Daniele Varrazzo [Sun, 11 May 2025 11:35:06 +0000 (13:35 +0200)] 
chore: bump psycopg package version to 3.2.8

2 months agoci: make sure versions are strings, not floats
Daniele Varrazzo [Sun, 11 May 2025 10:45:56 +0000 (12:45 +0200)] 
ci: make sure versions are strings, not floats

2 months agochore: add funding link to project metadata
Daniele Varrazzo [Sat, 10 May 2025 19:58:27 +0000 (21:58 +0200)] 
chore: add funding link to project metadata

2 months agofix(c): fix building on 32 bit with libpq 18
Daniele Varrazzo [Sat, 10 May 2025 16:27:50 +0000 (18:27 +0200)] 
fix(c): fix building on 32 bit with libpq 18

The previous code was protected by a HAVE_LONG_INT_64 macro.

2 months agochore(binary): bump OpenSSL to 3.5.0
Daniele Varrazzo [Sat, 10 May 2025 15:55:05 +0000 (17:55 +0200)] 
chore(binary): bump OpenSSL to 3.5.0

On Windows the libpq 17.5 package depends on it.

2 months agochore(binary): bump libpq to 17.5 in binary packages
Daniele Varrazzo [Sat, 10 May 2025 13:30:00 +0000 (15:30 +0200)] 
chore(binary): bump libpq to 17.5 in binary packages

2 months agochore(deps): bump the actions group with 2 updates
dependabot[bot] [Thu, 1 May 2025 07:13:04 +0000 (07:13 +0000)] 
chore(deps): bump the actions group with 2 updates

Bumps the actions group with 2 updates: [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) and [prefix-dev/setup-pixi](https://github.com/prefix-dev/setup-pixi).

Updates `pypa/cibuildwheel` from 2.23.2 to 2.23.3
- [Release notes](https://github.com/pypa/cibuildwheel/releases)
- [Changelog](https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md)
- [Commits](https://github.com/pypa/cibuildwheel/compare/v2.23.2...v2.23.3)

Updates `prefix-dev/setup-pixi` from 0.8.4 to 0.8.8
- [Release notes](https://github.com/prefix-dev/setup-pixi/releases)
- [Commits](https://github.com/prefix-dev/setup-pixi/compare/v0.8.4...v0.8.8)

---
updated-dependencies:
- dependency-name: pypa/cibuildwheel
  dependency-version: 2.23.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
- dependency-name: prefix-dev/setup-pixi
  dependency-version: 0.8.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2 months agoci: install win32 libpq from conda force
trim21 [Sun, 23 Feb 2025 09:25:45 +0000 (17:25 +0800)] 
ci: install win32 libpq from conda force

2 months agoMerge branch 'better-logging' into maint-3.2
Daniele Varrazzo [Sat, 10 May 2025 13:46:56 +0000 (15:46 +0200)] 
Merge branch 'better-logging' into maint-3.2

2 months agodocs: add section about connection logging
Daniele Varrazzo [Sat, 10 May 2025 02:55:45 +0000 (04:55 +0200)] 
docs: add section about connection logging

2 months agorefactor: more succinct expression for multiple attempts error
Daniele Varrazzo [Fri, 9 May 2025 01:14:16 +0000 (03:14 +0200)] 
refactor: more succinct expression for multiple attempts error

2 months agofeat: restore connection attempts logging
Daniele Varrazzo [Fri, 9 May 2025 00:48:25 +0000 (02:48 +0200)] 
feat: restore connection attempts logging

It was deleted in #1076, with the introduction of the multi-message
exception but it is still useful, looking at #888.

2 months agoci: add Django LTS 5.2 3rd party integration test
Daniele Varrazzo [Sat, 10 May 2025 02:22:26 +0000 (04:22 +0200)] 
ci: add Django LTS 5.2 3rd party integration test

2 months agoci: fix 3rd party test after the pip django package went lowercase
Daniele Varrazzo [Sat, 10 May 2025 02:11:29 +0000 (04:11 +0200)] 
ci: fix 3rd party test after the pip django package went lowercase

2 months agoMerge pull request #1084 from psycopg/libpq-v18
Daniele Varrazzo [Fri, 9 May 2025 23:26:34 +0000 (00:26 +0100)] 
Merge pull request #1084 from psycopg/libpq-v18

Add support for libpq v18

2 months agoci: include PostgreSQL 18 libpq in tests 1084/head
Daniele Varrazzo [Fri, 9 May 2025 22:00:52 +0000 (00:00 +0200)] 
ci: include PostgreSQL 18 libpq in tests

2 months agofix: fix building with PostgreSQL v18 libpq
Daniele Varrazzo [Fri, 9 May 2025 13:00:34 +0000 (15:00 +0200)] 
fix: fix building with PostgreSQL v18 libpq

Use 64 bits support from C99 types.

Fix #1082

2 months agochore(tests): import module only locally as it won't be imported/used in C
Daniele Varrazzo [Fri, 9 May 2025 14:36:55 +0000 (16:36 +0200)] 
chore(tests): import module only locally as it won't be imported/used in C

2 months agochore: import module to avoid confusing mypy situations
Daniele Varrazzo [Fri, 9 May 2025 14:34:37 +0000 (16:34 +0200)] 
chore: import module to avoid confusing mypy situations

2 months agoMerge branch 'port-may-be-none' into maint-3.2
Daniele Varrazzo [Fri, 9 May 2025 13:10:57 +0000 (15:10 +0200)] 
Merge branch 'port-may-be-none' into maint-3.2

2 months agofix: avoid a blank "port=" in the repr() of object with connection
Daniele Varrazzo [Thu, 8 May 2025 20:47:50 +0000 (22:47 +0200)] 
fix: avoid a blank "port=" in the repr() of object with connection

2 months agofix: return the compiled port if PQport returns an empty string
Daniele Varrazzo [Thu, 8 May 2025 17:09:08 +0000 (19:09 +0200)] 
fix: return the compiled port if PQport returns an empty string

Looking at the docs this seems the default value when an empty string is
specified, as opposite as the value in the PGPORT env var. See
<https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-CONNECT-PORT>.

This change is an improvement on top of 40dfa0b, where we allowed PGport
to return NULL. This is likely a libpq bug (reported in
<https://www.postgresql.org/message-id/CA%2Bmi_8YTS8WPZPO0PAb2aaGLwHuQ0DEQRF0ZMnvWss4y9FwDYQ%40mail.gmail.com>)
but now it's in the wild so we better support it rather than dying of
assert or by int()'ing an empty string.

2 months agoMerge branch 'row-maker-none' into maint-3.2
Daniele Varrazzo [Fri, 9 May 2025 13:07:48 +0000 (15:07 +0200)] 
Merge branch 'row-maker-none' into maint-3.2

2 months agotest: actually test server cursors when row makers return None
Daniele Varrazzo [Fri, 9 May 2025 11:10:46 +0000 (13:10 +0200)] 
test: actually test server cursors when row makers return None

2 months agodocs: add release notes entry about row maker returning none fixed
Martin Baláž [Thu, 8 May 2025 00:03:01 +0000 (02:03 +0200)] 
docs: add release notes entry about row maker returning none fixed

2 months agotest: test behaviour of cursors with a row maker returning None
Martin Baláž [Wed, 7 May 2025 20:10:06 +0000 (22:10 +0200)] 
test: test behaviour of cursors with a row maker returning None

2 months agofix: fix loading of rows when row maker returns None
Martin Baláž [Wed, 7 May 2025 15:25:13 +0000 (17:25 +0200)] 
fix: fix loading of rows when row maker returns None

Close #1073

2 months agofix(c): don't use Cython 3.1 or following to build the extension
Daniele Varrazzo [Thu, 8 May 2025 23:47:26 +0000 (01:47 +0200)] 
fix(c): don't use Cython 3.1 or following to build the extension

The resulting module seems affected by a memory leak.

https://github.com/cython/cython/issues/6850

2 months agofix: improve error message trying to fetch from a no recordset result
Daniele Varrazzo [Fri, 2 May 2025 22:18:10 +0000 (00:18 +0200)] 
fix: improve error message trying to fetch from a no recordset result

Print the last command status with the error. For example:

    the last operation didn't produce records (command status: NOTIFY)

or, if the result doesn't even have a command status:

    the last operation didn't produce records (result status: EMPTY_QUERY)

2 months agoMerge branch 'dev/danielfrankcom/show-all-connection-errors' into maint-3.2
Daniele Varrazzo [Thu, 8 May 2025 05:13:09 +0000 (07:13 +0200)] 
Merge branch 'dev/danielfrankcom/show-all-connection-errors' into maint-3.2

2 months agofix: show all connection errors on attempt failure
Daniel Frankcom [Wed, 7 May 2025 23:20:43 +0000 (16:20 -0700)] 
fix: show all connection errors on attempt failure

2 months agoMerge branch 'no-attempts-after-ctrl-c' into maint-3.2
Daniele Varrazzo [Wed, 7 May 2025 23:14:39 +0000 (01:14 +0200)] 
Merge branch 'no-attempts-after-ctrl-c' into maint-3.2

2 months agofix: don't process further attempt if ctrl-c is pressed during connection
Daniele Varrazzo [Wed, 7 May 2025 21:39:20 +0000 (23:39 +0200)] 
fix: don't process further attempt if ctrl-c is pressed during connection

See for example #1055 where this behaviour is reported, #1076 where it
is further discussed.

2 months agofix: remove assert calling informative libpq function
Daniele Varrazzo [Wed, 7 May 2025 21:40:23 +0000 (23:40 +0200)] 
fix: remove assert calling informative libpq function

At least calling PQport on a connection with multiple attempts ends up
returning a NULL instead of an empty string (libpq from Postgres 17.4).

2 months agoMerge pull request #1072 from psycopg/fix-1071
Daniele Varrazzo [Wed, 7 May 2025 15:32:26 +0000 (16:32 +0100)] 
Merge pull request #1072 from psycopg/fix-1071

Fix interval parsing with day/month/year and negative time

2 months agofix[c]: fix interval parsing with day/month/year and negative time 1072/head
Daniele Varrazzo [Wed, 7 May 2025 14:01:01 +0000 (16:01 +0200)] 
fix[c]: fix interval parsing with day/month/year and negative time

Close #1071

2 months agoMerge pull request #1066 from psycopg/fix-server-cursor-rownumber
Daniele Varrazzo [Sun, 4 May 2025 18:51:41 +0000 (19:51 +0100)] 
Merge pull request #1066 from psycopg/fix-server-cursor-rownumber

fix: fix AsyncClientCursor.rownumber after scroll()

2 months agofix: fix AsyncClientCursor.rownumber after scroll() 1066/head
Daniele Varrazzo [Sun, 4 May 2025 17:03:38 +0000 (19:03 +0200)] 
fix: fix AsyncClientCursor.rownumber after scroll()

2 months agorefactor: auto-generate sync server cursor from async
Daniele Varrazzo [Sun, 4 May 2025 16:44:29 +0000 (18:44 +0200)] 
refactor: auto-generate sync server cursor from async

2 months agorefactor: split async/sync server cursor in two modules
Daniele Varrazzo [Sun, 4 May 2025 16:30:34 +0000 (18:30 +0200)] 
refactor: split async/sync server cursor in two modules

2 months agorefactor(test): better parametrization of fetch type tests
Daniele Varrazzo [Sat, 3 May 2025 01:31:27 +0000 (03:31 +0200)] 
refactor(test): better parametrization of fetch type tests

2 months agochore: test support for PyPY 3.11
Daniele Varrazzo [Sun, 4 May 2025 11:27:49 +0000 (13:27 +0200)] 
chore: test support for PyPY 3.11

2 months agoMerge branch 'fix-from-ticks-functions' into maint-3.2
Daniele Varrazzo [Sun, 4 May 2025 11:05:28 +0000 (13:05 +0200)] 
Merge branch 'fix-from-ticks-functions' into maint-3.2

2 months agofix: fix return value of `DateFromTicks` and `TimeFromTicks`
Daniele Varrazzo [Thu, 1 May 2025 17:38:18 +0000 (19:38 +0200)] 
fix: fix return value of `DateFromTicks` and `TimeFromTicks`

These function are based on the return value of `TimestampFromTicks`.
Because this value returned by this function is timezone-aware and
localized to the current timezone, truncating the value (and implicitly
losing the timezone) might return the wrong result.

For example, at tick 0, in NY, it was 1969-12-31T19:00-05:00. By
truncating the timestamp on the date, the date would be the 1969-12-31
instead of the expected 1970-01-01.

This changeset actually changes `TimestampFromTicks` to return an UTC
timestamp instead of a local timestamp. We believe that this change is
not a problem because we don't change neither the type (tz-aware
datetime) nor the value of the returned object (old and new values
compare equal). An alternative would have been to decouple the Timestamp
function from the Date/Time functions, but I think it would be confusing
if the Timestamp function returned a datetime with the date in 1969 but the
Date function returned a date in 1970.

Adjust the tests to be *stricter* than before, making use of the fact
that now the output is not affected by the local timezone.

Close #1058.

3 months agochore: bump psycopg package version to 3.2.8.dev1
Daniele Varrazzo [Wed, 30 Apr 2025 13:06:25 +0000 (15:06 +0200)] 
chore: bump psycopg package version to 3.2.8.dev1

3 months agoMerge pull request #1052 from psycopg/connection-log 3.2.7
Daniele Varrazzo [Wed, 30 Apr 2025 10:20:27 +0000 (11:20 +0100)] 
Merge pull request #1052 from psycopg/connection-log

Add connection log info

3 months agochore: add connection debugging log in the C extension too 1052/head
Daniele Varrazzo [Tue, 29 Apr 2025 16:15:19 +0000 (18:15 +0200)] 
chore: add connection debugging log in the C extension too

3 months agochore: add debug logging at connection time
Daniele Varrazzo [Tue, 29 Apr 2025 14:14:40 +0000 (16:14 +0200)] 
chore: add debug logging at connection time

Only added to the Python implementation for the moment.

See #888

3 months agofix: guard from unexpected connection status on repr
Daniele Varrazzo [Tue, 29 Apr 2025 14:16:10 +0000 (16:16 +0200)] 
fix: guard from unexpected connection status on repr

3 months agochore: bump psycopg package version to 3.2.7
Daniele Varrazzo [Tue, 29 Apr 2025 12:14:59 +0000 (14:14 +0200)] 
chore: bump psycopg package version to 3.2.7

3 months agofeat: implement binary hstore protocol
Kamil Monicz [Fri, 21 Mar 2025 16:47:02 +0000 (16:47 +0000)] 
feat: implement binary hstore protocol

3 months agotest(pool): verify the overriding of `close()` to act as `putconn()`
Daniele Varrazzo [Wed, 16 Apr 2025 18:57:37 +0000 (20:57 +0200)] 
test(pool): verify the overriding of `close()` to act as `putconn()`

We would like to maintain this possibility on a best-effort basis. The
hack has been mentioned in #1046 and upstream in
https://github.com/sqlalchemy/sqlalchemy/discussions/12522 and is useful
to integrate psycopg pool with the SQLAlchemy NullPool.

3 months agotest(crdb): add test reproducing failure with prepared create statement
Daniele Varrazzo [Tue, 18 Mar 2025 14:46:35 +0000 (15:46 +0100)] 
test(crdb): add test reproducing failure with prepared create statement

See #1009

3 months agoci(crdb): pull stable crdb images from crdb docker repository
Daniele Varrazzo [Tue, 18 Mar 2025 15:21:04 +0000 (16:21 +0100)] 
ci(crdb): pull stable crdb images from crdb docker repository

3 months agostyle: define a symbolic const for null values in array
Daniele Varrazzo [Sat, 5 Apr 2025 09:41:21 +0000 (10:41 +0100)] 
style: define a symbolic const for null values in array

3 months agochore: drop unneeded nonlocal declarations
Daniele Varrazzo [Thu, 3 Apr 2025 11:07:46 +0000 (12:07 +0100)] 
chore: drop unneeded nonlocal declarations

Flagged by flake8 7.2

3 months agoMerge branch 'walrusify-3.2' into maint-3.2
Daniele Varrazzo [Thu, 3 Apr 2025 16:15:01 +0000 (17:15 +0100)] 
Merge branch 'walrusify-3.2' into maint-3.2

3 months agorefactor: use assignment expressions in loops with assignment and break
Daniele Varrazzo [Thu, 27 Mar 2025 16:36:29 +0000 (17:36 +0100)] 
refactor: use assignment expressions in loops with assignment and break

3 months agorefactor: use the assignment operator in assignments followed by an if
Daniele Varrazzo [Thu, 27 Mar 2025 00:25:49 +0000 (01:25 +0100)] 
refactor: use the assignment operator in assignments followed by an if

3 months agochore(deps): bump the actions group with 2 updates
dependabot[bot] [Tue, 1 Apr 2025 07:17:44 +0000 (07:17 +0000)] 
chore(deps): bump the actions group with 2 updates

Bumps the actions group with 2 updates: [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) and [prefix-dev/setup-pixi](https://github.com/prefix-dev/setup-pixi).

Updates `pypa/cibuildwheel` from 2.22.0 to 2.23.2
- [Release notes](https://github.com/pypa/cibuildwheel/releases)
- [Changelog](https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md)
- [Commits](https://github.com/pypa/cibuildwheel/compare/v2.22.0...v2.23.2)

Updates `prefix-dev/setup-pixi` from 0.8.3 to 0.8.4
- [Release notes](https://github.com/prefix-dev/setup-pixi/releases)
- [Commits](https://github.com/prefix-dev/setup-pixi/compare/v0.8.3...v0.8.4)

---
updated-dependencies:
- dependency-name: pypa/cibuildwheel
  dependency-version: 2.23.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: actions
- dependency-name: prefix-dev/setup-pixi
  dependency-version: 0.8.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
...

Signed-off-by: dependabot[bot] <support@github.com>
3 months agodocs: rename some news.rst section headers from python to psycopg
LuiMoiPer [Thu, 27 Mar 2025 05:43:02 +0000 (22:43 -0700)] 
docs: rename some news.rst section headers from python to psycopg

4 months agoperf(composite): drop an if and a tuple() call
Daniele Varrazzo [Wed, 26 Mar 2025 18:56:32 +0000 (19:56 +0100)] 
perf(composite): drop an if and a tuple() call

4 months agoMerge branch 'shapely-srid' into maint-3.2
Daniele Varrazzo [Wed, 26 Mar 2025 19:20:58 +0000 (20:20 +0100)] 
Merge branch 'shapely-srid' into maint-3.2

4 months agoci(shapely): test shapely with a more current Python version
Daniele Varrazzo [Wed, 26 Mar 2025 14:51:50 +0000 (15:51 +0100)] 
ci(shapely): test shapely with a more current Python version

4 months agotest(shapely): better use of fixtures to drop test duplications
Daniele Varrazzo [Wed, 26 Mar 2025 14:46:00 +0000 (15:46 +0100)] 
test(shapely): better use of fixtures to drop test duplications

4 months agodocs: mention shapely SRID support in news file
Daniele Varrazzo [Tue, 25 Mar 2025 18:44:29 +0000 (19:44 +0100)] 
docs: mention shapely SRID support in news file

4 months agofix: manage shapely conditional imports explicitly
Daniele Varrazzo [Tue, 25 Mar 2025 18:23:41 +0000 (19:23 +0100)] 
fix: manage shapely conditional imports explicitly

4 months agotest(shapely): Handle missing SRID support
Kamil Monicz [Mon, 24 Mar 2025 11:47:23 +0000 (11:47 +0000)] 
test(shapely): Handle missing SRID support

4 months agofix(shapely): maintain Shapely < 2 compatibility
Kamil Monicz [Mon, 24 Mar 2025 11:32:41 +0000 (11:32 +0000)] 
fix(shapely): maintain Shapely < 2 compatibility

4 months agochore: add types-shapely to dev dependencies
Daniele Varrazzo [Sun, 23 Mar 2025 17:14:11 +0000 (18:14 +0100)] 
chore: add types-shapely to dev dependencies

4 months agofix(shapely): add SRID support
Kamil Monicz [Sun, 23 Mar 2025 10:30:11 +0000 (10:30 +0000)] 
fix(shapely): add SRID support

4 months agochore: configure flake8 for imports after pytest's importorskip
Daniele Varrazzo [Sun, 23 Mar 2025 22:10:57 +0000 (23:10 +0100)] 
chore: configure flake8 for imports after pytest's importorskip

4 months agoci: run bin package workflow on workflow file changed
Trim21 [Fri, 21 Mar 2025 20:01:24 +0000 (04:01 +0800)] 
ci: run bin package workflow on workflow file changed

4 months agofix: fix `status` annotation in `connection_summary`
sobolevn [Thu, 13 Mar 2025 10:40:42 +0000 (13:40 +0300)] 
fix: fix `status` annotation in `connection_summary`

Currently enum names are strings, but this is being changed to become
Literal. When this will happen, the type inferred will not be valid
anymore, as we mutate it and manipulate it as string in the function.

See https://github.com/python/mypy/pull/18797

4 months agochore: bump psycopg package version to 3.2.7.dev1
Daniele Varrazzo [Wed, 12 Mar 2025 20:39:06 +0000 (21:39 +0100)] 
chore: bump psycopg package version to 3.2.7.dev1

4 months agochore: bump psycopg package version to 3.2.6 3.2.6
Daniele Varrazzo [Wed, 12 Mar 2025 17:57:00 +0000 (18:57 +0100)] 
chore: bump psycopg package version to 3.2.6

4 months agoMerge branch 'fix-target_session_attrs-prefer-standby' into maint-3.2
Daniele Varrazzo [Wed, 12 Mar 2025 17:56:38 +0000 (18:56 +0100)] 
Merge branch 'fix-target_session_attrs-prefer-standby' into maint-3.2

4 months agotest: skip target_session_attrs with libpw < 14
Daniele Varrazzo [Mon, 10 Mar 2025 23:26:23 +0000 (00:26 +0100)] 
test: skip target_session_attrs with libpw < 14

Only one test fails with the currently "oldest" libpq, which is 10.2,
however the docs in libpq 13 are not explicit in which modes are
supported and, afaics, 'replica' shouldn't work either.

https://www.postgresql.org/docs/13/libpq-connect.html

4 months agofix: implement libpq semantic for target_session_attrs=prefer-standby
Daniele Varrazzo [Mon, 10 Mar 2025 22:53:31 +0000 (23:53 +0100)] 
fix: implement libpq semantic for target_session_attrs=prefer-standby

First attempt all the servers in standby mode, then fall back to any
mode.

Fix #1021.

5 months agofix win32 libpq missing error
Trim21 [Sat, 22 Feb 2025 18:12:26 +0000 (02:12 +0800)] 
fix win32 libpq missing error

5 months agochore: bump psycopg package version to 3.2.6.dev1
Daniele Varrazzo [Sat, 22 Feb 2025 18:25:11 +0000 (19:25 +0100)] 
chore: bump psycopg package version to 3.2.6.dev1

5 months agochore: bump psycopg package version to 3.2.5 3.2.5
Daniele Varrazzo [Sat, 22 Feb 2025 13:46:50 +0000 (14:46 +0100)] 
chore: bump psycopg package version to 3.2.5

5 months agochore: bump build libraries
Daniele Varrazzo [Sat, 22 Feb 2025 13:45:18 +0000 (14:45 +0100)] 
chore: bump build libraries

5 months agoMerge branch 'cython-uuid-3.2' into maint-3.2
Daniele Varrazzo [Thu, 20 Feb 2025 12:12:58 +0000 (13:12 +0100)] 
Merge branch 'cython-uuid-3.2' into maint-3.2

5 months agodocs: mention UUID speedup in release news
Daniele Varrazzo [Thu, 13 Feb 2025 15:58:44 +0000 (16:58 +0100)] 
docs: mention UUID speedup in release news

5 months agochore(c): remove C UUIDDumper and UUIDBinaryDumper
henadzit [Mon, 10 Feb 2025 22:37:50 +0000 (23:37 +0100)] 
chore(c): remove C UUIDDumper and UUIDBinaryDumper

5 months agoperf(uuid): speed up UUID creation using a writable subclass
Daniele Varrazzo [Sat, 8 Feb 2025 15:36:25 +0000 (16:36 +0100)] 
perf(uuid): speed up UUID creation using a writable subclass

Introduce an object memory-compatible with UUID, but writable. Try to
create this object in the fastest possible way: calling __new__ and
setting its attributes. Then replace the class with the standard UUID.

5 months agoperf(c): use PyObject_CallFunctionObjArgs in UUIDBinaryLoader
henadzit [Fri, 7 Feb 2025 18:43:49 +0000 (19:43 +0100)] 
perf(c): use PyObject_CallFunctionObjArgs in UUIDBinaryLoader

5 months agoperf(c): use PyObject_CallFunctionObjArgs in UUIDLoader
henadzit [Fri, 7 Feb 2025 18:11:40 +0000 (19:11 +0100)] 
perf(c): use PyObject_CallFunctionObjArgs in UUIDLoader

5 months agotest(c): test UUID.__slots__
henadzit [Fri, 7 Feb 2025 17:03:43 +0000 (18:03 +0100)] 
test(c): test UUID.__slots__

5 months agoperf(c): Use hex_to_int_map in UUIDLoader
henadzit [Sun, 2 Feb 2025 18:29:01 +0000 (19:29 +0100)] 
perf(c): Use hex_to_int_map in UUIDLoader

5 months agoperf(c): lazy load UUID
henadzit [Thu, 30 Jan 2025 10:02:39 +0000 (11:02 +0100)] 
perf(c): lazy load UUID

5 months agoperf(c): use UUID.__new__
henadzit [Wed, 29 Jan 2025 23:32:17 +0000 (00:32 +0100)] 
perf(c): use UUID.__new__