Diagnostic step 1
Remove the extension from shared_preload_libraries (already tested) to stop crashes — reversible and minimal disruption.
Generated Oct 13, 2026, 9:45:52 AM
Remove the extension from shared_preload_libraries (already tested) to stop crashes — reversible and minimal disruption.
Rebuild the extension from source against the exact PostgreSQL 14 server headers and link flags used by the running server; test on a staging instance with autovacuum under realistic load before deploying to production.
If the extension must be preloaded, audit its code (or request vendor audit) for background-worker safe patterns: avoid non-reentrant globals, guard initialization with ProcessIsBackgroundWorker checks, use appropriate memory contexts, and avoid calling backend-only APIs during early init. Run with AddressSanitizer or valgrind in staging to detect memory issues.
If rebuilding or fixing the extension is not possible, consider loading the extension on-demand per-database (CREATE EXTENSION) rather than preloading, or schedule manual vacuums as a temporary maintenance workaround while you remediate.
Collect core dumps, server build ids, extension binary build metadata, and reproduce steps and file a bug with the extension author or vendor. Escalate to the extension maintainer if the extension is closed-source or if you suspect an ABI change caused the crash.