- update to 3.3.2:
* Add :ref:`template strings queries <template-strings>`
(🎫`#1054`).
* More flexible :ref:`composite adaptation<adapt-composite>`:
it is now possible to adapt Python objects to PostgreSQL
composites and back even if they are not sequences or if they
take keyword arguments (🎫`#932`, 🎫`#1202`).
* Cursors are now iterators, not just iterables. This means you
can call next(cur) or anext(cur), which is useful as a
:ref:`type-safe expression <typing-fetchone>`
(🎫`#1064`).
* Add Cursor.set_result() and Cursor.results() to move across
the result sets of queries executed though
~Cursor.executemany() or ~Cursor.execute() with multiple
statements (🎟️`#1080, #1170`).
* Add :ref:`transaction-status` to report the status during and
after a ~Connection.transaction() block (🎫`#969`).
* Allow to change loaders using
~adapt.AdaptersMap.register_loader() on Cursor.adapters after
a query result has been already returned (🎫`#884`).
* Add pq.PGconn.used_gssapi attribute and
Capabilities.has_used_gssapi() function (🎫`#1138`).
* Add ConnectionInfo.full_protocol_version attribute,
Capabilities.has_full_protocol_version() function
(🎫`#1079`).
* Disable default GSSAPI preferential connection in the binary
package (🎫`#1136`). Warning Please explicitly set the
gssencmode_ connection parameter or the
:envvar:`PGGSSENCMODE` environment variable to interact
reliably with the GSSAPI.
OBS-URL: https://build.opensuse.org/request/show/1329587
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-psycopg-c?expand=0&rev=13
* Add :ref:`template strings queries <template-strings>`
(🎫`#1054`).
* More flexible :ref:`composite adaptation<adapt-composite>`:
it is now possible to adapt Python objects to PostgreSQL
composites and back even if they are not sequences or if they
take keyword arguments (🎫`#932`, 🎫`#1202`).
* Cursors are now iterators, not just iterables. This means you
can call next(cur) or anext(cur), which is useful as a
:ref:`type-safe expression <typing-fetchone>`
(🎫`#1064`).
* Add Cursor.set_result() and Cursor.results() to move across
the result sets of queries executed though
~Cursor.executemany() or ~Cursor.execute() with multiple
statements (🎟️`#1080, #1170`).
* Add :ref:`transaction-status` to report the status during and
after a ~Connection.transaction() block (🎫`#969`).
* Allow to change loaders using
~adapt.AdaptersMap.register_loader() on Cursor.adapters after
a query result has been already returned (🎫`#884`).
* Add pq.PGconn.used_gssapi attribute and
Capabilities.has_used_gssapi() function (🎫`#1138`).
* Add ConnectionInfo.full_protocol_version attribute,
Capabilities.has_full_protocol_version() function
(🎫`#1079`).
* Disable default GSSAPI preferential connection in the binary
package (🎫`#1136`). Warning Please explicitly set the
gssencmode_ connection parameter or the
:envvar:`PGGSSENCMODE` environment variable to interact
reliably with the GSSAPI.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-psycopg-c?expand=0&rev=29
- update to 3.2.12:
* Allow copy to pass different types per column, as long as the
database can convert them. Regression introduced in 3.2.11
* Fix spurious readiness flags in some of the wait functions
* Fix high CPU usage using the wait_c function on Windows
* Fix bad data on error in binary copy (ticket #1147).
* Respect Copy.set_types() in TEXT copy in C version,
consistently with the Python version (ticket #1153).
* Don’t raise warning, and don’t leak resources, if a builtin
function is used as JSON dumper/loader function (ticket #1165).
* Improve performance of Python conversion on results loading
(ticket #1155).
OBS-URL: https://build.opensuse.org/request/show/1318339
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-psycopg-c?expand=0&rev=12
* Allow copy to pass different types per column, as long as the
database can convert them. Regression introduced in 3.2.11
* Fix spurious readiness flags in some of the wait functions
* Fix high CPU usage using the wait_c function on Windows
* Fix bad data on error in binary copy (ticket #1147).
* Respect Copy.set_types() in TEXT copy in C version,
consistently with the Python version (ticket #1153).
* Don’t raise warning, and don’t leak resources, if a builtin
function is used as JSON dumper/loader function (ticket #1165).
* Improve performance of Python conversion on results loading
(ticket #1155).
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-psycopg-c?expand=0&rev=27
- update to 3.2.10:
* Fix TypeError shadowing CancelledError upon task cancellation
during pipeline execution (ticket #1005).
* Fix memory leak when lambda/local functions are used as
argument for set_json_dumps(), set_json_loads() (ticket #1108).
* Fix coordination of executemany() with other concurrent
operations on other cursors (ticket #1130).
* Fix leak receiving notifications if the notifies() generator
is not called (ticket #1091).
* Using both the generator and handlers to receive notifications
on the same connection is therefore deprecated and will now
generate a runtime warning.
* Add support for Python 3.14 (ticket #1053).
OBS-URL: https://build.opensuse.org/request/show/1308108
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-psycopg-c?expand=0&rev=11
* Fix TypeError shadowing CancelledError upon task cancellation
during pipeline execution (ticket #1005).
* Fix memory leak when lambda/local functions are used as
argument for set_json_dumps(), set_json_loads() (ticket #1108).
* Fix coordination of executemany() with other concurrent
operations on other cursors (ticket #1130).
* Fix leak receiving notifications if the notifies() generator
is not called (ticket #1091).
* Using both the generator and handlers to receive notifications
on the same connection is therefore deprecated and will now
generate a runtime warning.
* Add support for Python 3.14 (ticket #1053).
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-psycopg-c?expand=0&rev=25
- update to 3.2.9:
* Fix `DateFromTicks` and `TimeFromTicks` return values to return
a date and a time referred to the UTC timezone rather than to
the local timezone. For consistency, `TimestampFromTicks` to
return a datetime in UTC rather than in the local timezone
* Fix `~Cursor.rownumber` after using `~AsyncServerCursor.scroll()`
on `AsyncServerCursor` (🎫`#1066`).
* Fix interval parsing with days or other parts and negative time
in C module
* Don't process further connection attempts after Ctrl-C
* Fix cursors to correctly iterate over rows even if their row
factory returns `None` (🎫`#1073`).
* Fix `ConnectionInfo.port` when the port is specified as an
empty string
* Report all the attempts error messages in the exception raised
for a connection failure (🎫`#1069`).
* Improve logging on connection (🎫`#1085`).
* Add support for PostgreSQL 18 libpq (🎫`#1082`).
* Add SRID support to shapely dumpers/loaders (🎫`#1028`).
* Add support for binary hstore (🎫`#1030`).
OBS-URL: https://build.opensuse.org/request/show/1281099
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-psycopg-c?expand=0&rev=10
* Fix `DateFromTicks` and `TimeFromTicks` return values to return
a date and a time referred to the UTC timezone rather than to
the local timezone. For consistency, `TimestampFromTicks` to
return a datetime in UTC rather than in the local timezone
* Fix `~Cursor.rownumber` after using `~AsyncServerCursor.scroll()`
on `AsyncServerCursor` (🎫`#1066`).
* Fix interval parsing with days or other parts and negative time
in C module
* Don't process further connection attempts after Ctrl-C
* Fix cursors to correctly iterate over rows even if their row
factory returns `None` (🎫`#1073`).
* Fix `ConnectionInfo.port` when the port is specified as an
empty string
* Report all the attempts error messages in the exception raised
for a connection failure (🎫`#1069`).
* Improve logging on connection (🎫`#1085`).
* Add support for PostgreSQL 18 libpq (🎫`#1082`).
* Add SRID support to shapely dumpers/loaders (🎫`#1028`).
* Add support for binary hstore (🎫`#1030`).
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-psycopg-c?expand=0&rev=22
- update to 3.2.6:
* Fix connection semantic when using
target_session_attrs=prefer-standby (ticket #1021).
- update to 3.2.5:
* 3x faster UUID loading thanks to C implementation
(tickets #447, #998).
- update to 3.2.4:
* Don’t lose notifies received whilst the notifies() iterator
is not running (ticket #962).
* Make sure that the notifies callback is called during the use
of the notifies() generator (ticket #972).
* Raise the correct error returned by the database (such as
AdminShutdown or IdleInTransactionSessionTimeout) instead of
a generic OperationalError when a server error causes a client
disconnection (ticket #988).
* Build macOS dependencies from sources instead using the
Homebrew versions in order to avoid problems with
MACOSX_DEPLOYMENT_TARGET (ticket #858).
* Bump libpq to 17.2 in Linux and macOS binary packages.
* Bump libpq to 16.4 in Windows binary packages, using the
vcpkg library (ticket #966).
OBS-URL: https://build.opensuse.org/request/show/1268045
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-psycopg-c?expand=0&rev=20
- update to 3.2.1:
* Fix packaging metadata breaking [c], [binary] dependencies
* Add support for integer, floating point, boolean NumPy scalar
types (ticket #332).
* Add timeout and stop_after parameters to Connection.notifies()
* Allow dumpers to return None, to be converted to NULL (ticket
* Add Raw query cursors to execute queries using placeholders in
PostgreSQL format ($1, $2…) (tickets #560, #839).
* Add capabilities object to inspect the libpq capabilities
* Add scalar_row to return scalar values from a query
* Add cancel_safe() for encrypted and non-blocking cancellation when
using libpq v17. Use such method internally to implement
KeyboardInterrupt and copy termination
* The context parameter of sql objects as_string() and as_bytes()
methods is now optional
* Add set_autocommit() on sync connections, and similar transaction
control methods available on the async connections.
* Add a size parameter to stream() to enable results retrieval in
chunks instead of row-by-row
------------------------------------------------------------------
OBS-URL: https://build.opensuse.org/request/show/1198068
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-psycopg-c?expand=0&rev=7
* Fix packaging metadata breaking [c], [binary] dependencies
* Add support for integer, floating point, boolean NumPy scalar
types (ticket #332).
* Add timeout and stop_after parameters to Connection.notifies()
* Allow dumpers to return None, to be converted to NULL (ticket
* Add Raw query cursors to execute queries using placeholders in
PostgreSQL format ($1, $2…) (tickets #560, #839).
* Add capabilities object to inspect the libpq capabilities
* Add scalar_row to return scalar values from a query
* Add cancel_safe() for encrypted and non-blocking cancellation when
using libpq v17. Use such method internally to implement
KeyboardInterrupt and copy termination
* The context parameter of sql objects as_string() and as_bytes()
methods is now optional
* Add set_autocommit() on sync connections, and similar transaction
control methods available on the async connections.
* Add a size parameter to stream() to enable results retrieval in
chunks instead of row-by-row
------------------------------------------------------------------
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-psycopg-c?expand=0&rev=16
* Fix use of service in connection string
* Fix async connection to hosts resolving to multiple IP
addresses
* Respect the PGCONNECT_TIMEOUT environment variable to
determine the connection timeout.
* Psycopg 3.1.14
* Fix interaction with gevent (ticket #527).
* Add support for PyPy (ticket #686).
- Initial release of 3.1.9
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-psycopg-c?expand=0&rev=6
- Update to 3.1.13:
* Raise DataError instead of whatever internal failure trying to
dump a time object with with a tzinfo specified as ZoneInfo
(ambiguous offset, see ticket #652).
* Handle gracefully EINTR on signals instead of raising
InterruptedError, consistently with PEP 475 guideline
(ticket #667).
* Fix support for connection strings with multiple hosts/ports
and for the load_balance_hosts connection parameter
(ticket #674).
* Fix memory leak receiving notifications in Python
implementation (ticket #679).
- Update to 3.1.12:
* Fix possible hanging if a connection is closed while querying
(ticket #608).
* Fix memory leak when register_*() functions are called
repeatedly (ticket #647).
* Release Python 3.12 binary packages.
- Update to 3.1.11:
* Avoid caching the parsing results of large queries to avoid
excessive memory usage (ticket #628).
* Fix integer overflow in C/binary extension with OID > 2^31
(ticket #630).
* Fix loading of intervals with days and months or years
(ticket #643).
* Work around excessive CPU usage on Windows (reported in
ticket #645).
* Fix building on Solaris and derivatives (ticket #632).
* Fix possible lack of critical section guard in
async executemany().
OBS-URL: https://build.opensuse.org/request/show/1128588
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-psycopg-c?expand=0&rev=4