instructions for upgrading python pkgs from 311 to 312 do not work

From: void <void_at_f-m.fm>
Date: Fri, 26 Jun 2026 13:52:51 UTC
Hi,

In /usr/ports/UPDATING/20260624

"  The default version of python has been switched to 3.12.

   For ports users wanting to keep version 3.11 as default,
   add DEFAULT_VERSIONS+= python=3.11 to make.conf

   With packages, the following may ease the process:
   # pkg set -p -n py311-:py312-
   # pkg upgrade

   If no longer required, Python 3.11 can be removed via
   "pkg remove python311" and the directory /usr/local/lib/python3.11 can
   then be deleted afterwards, if not empty."

# pkg set -p -n py311-:py312-
Do you want to batch replace 'py311-' in package name with 'py312-'?[y/N]: y
pkg: sqlite error while executing update packages set name = replace(name, 'py311-', 'py312-') where name glob '*py311-*' in file pkgdb.c:2781: UNIQUE constraint failed: packages.name

???

(pressing on regardless)

# pkg remove python311
Checking integrity... done (0 conflicting)
Deinstallation has been requested for the following 77 packages (of 0 packages in the universe):

Installed packages to be REMOVED:
   ark: 26.04.2
   bsdisks: 0.40
   en_GB-libreoffice: 26.2.4.2
   gigolo: 0.6.0
   glib-bootstrap: 2.86.4,2

(nope)

FreeBSD 15.1-STABLE #2 stable/15-n284054

FreeBSD-ports: {
   url: "pkg+https://pkg.FreeBSD.org/${ABI}/latest",
   mirror_type: "srv",
   signature_type: "fingerprints",
   fingerprints: "/usr/share/keys/pkg",
   enabled: yes
   }

--