Merge branch 'pg18'

This commit is contained in:
Daniele Varrazzo 2025-10-09 19:09:58 +02:00
commit 898d40ee20
5 changed files with 18 additions and 11 deletions

View File

@ -16,17 +16,17 @@ jobs:
fail-fast: false fail-fast: false
matrix: matrix:
include: include:
- {python: "3.9", postgres: "13"} - {python: "3.9", postgres: "14"}
- {python: "3.10", postgres: "14"} - {python: "3.10", postgres: "15"}
- {python: "3.11", postgres: "15"} - {python: "3.11", postgres: "16"}
- {python: "3.12", postgres: "16"} - {python: "3.12", postgres: "17"}
- {python: "3.13", postgres: "17"} - {python: "3.13", postgres: "18"}
# Opposite extremes of the supported Py/PG range, other architecture # Opposite extremes of the supported Py/PG range, other architecture
- {python: "3.9", postgres: "17", architecture: "x86"} - {python: "3.9", postgres: "18", architecture: "x86"}
- {python: "3.10", postgres: "16", architecture: "x86"} - {python: "3.10", postgres: "17", architecture: "x86"}
- {python: "3.11", postgres: "15", architecture: "x86"} - {python: "3.11", postgres: "16", architecture: "x86"}
- {python: "3.12", postgres: "14", architecture: "x86"} - {python: "3.12", postgres: "15", architecture: "x86"}
- {python: "3.13", postgres: "13", architecture: "x86"} - {python: "3.13", postgres: "13", architecture: "x86"}
env: env:

2
NEWS
View File

@ -4,6 +4,8 @@ Current release
What's new in psycopg 2.9.11 What's new in psycopg 2.9.11
^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- `~psycopg2.errorcodes` map and `~psycopg2.errors` classes updated to
PostgreSQL 18.
- Drop support for Python 3.8. - Drop support for Python 3.8.

View File

@ -132,7 +132,7 @@ The current `!psycopg2` implementation supports:
NOTE: keep consistent with setup.py and the /features/ page. NOTE: keep consistent with setup.py and the /features/ page.
- Python versions from 3.9 to 3.13 - Python versions from 3.9 to 3.13
- PostgreSQL server versions from 7.4 to 17 - PostgreSQL server versions from 7.4 to 18
- PostgreSQL client library version from 9.1 - PostgreSQL client library version from 9.1
.. note:: .. note::

View File

@ -69,6 +69,7 @@ CLASS_LOCATOR_EXCEPTION = '0F'
CLASS_INVALID_GRANTOR = '0L' CLASS_INVALID_GRANTOR = '0L'
CLASS_INVALID_ROLE_SPECIFICATION = '0P' CLASS_INVALID_ROLE_SPECIFICATION = '0P'
CLASS_DIAGNOSTICS_EXCEPTION = '0Z' CLASS_DIAGNOSTICS_EXCEPTION = '0Z'
CLASS_XQUERY_ERROR = '10'
CLASS_CASE_NOT_FOUND = '20' CLASS_CASE_NOT_FOUND = '20'
CLASS_CARDINALITY_VIOLATION = '21' CLASS_CARDINALITY_VIOLATION = '21'
CLASS_DATA_EXCEPTION = '22' CLASS_DATA_EXCEPTION = '22'
@ -154,6 +155,9 @@ INVALID_ROLE_SPECIFICATION = '0P000'
DIAGNOSTICS_EXCEPTION = '0Z000' DIAGNOSTICS_EXCEPTION = '0Z000'
STACKED_DIAGNOSTICS_ACCESSED_WITHOUT_ACTIVE_HANDLER = '0Z002' STACKED_DIAGNOSTICS_ACCESSED_WITHOUT_ACTIVE_HANDLER = '0Z002'
# Class 10 - XQuery Error
INVALID_ARGUMENT_FOR_XQUERY = '10608'
# Class 20 - Case Not Found # Class 20 - Case Not Found
CASE_NOT_FOUND = '20000' CASE_NOT_FOUND = '20000'
@ -400,6 +404,7 @@ SYSTEM_ERROR = '58000'
IO_ERROR = '58030' IO_ERROR = '58030'
UNDEFINED_FILE = '58P01' UNDEFINED_FILE = '58P01'
DUPLICATE_FILE = '58P02' DUPLICATE_FILE = '58P02'
FILE_NAME_TOO_LONG = '58P03'
# Class 72 - Snapshot Failure # Class 72 - Snapshot Failure
SNAPSHOT_TOO_OLD = '72000' SNAPSHOT_TOO_OLD = '72000'

View File

@ -33,7 +33,7 @@ def main():
file_start = read_base_file(filename) file_start = read_base_file(filename)
# If you add a version to the list fix the docs (in errorcodes.rst) # If you add a version to the list fix the docs (in errorcodes.rst)
classes, errors = fetch_errors("11 12 13 14 15 16 17".split()) classes, errors = fetch_errors("11 12 13 14 15 16 17 18".split())
disambiguate(errors) disambiguate(errors)