Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1vAr0b-006bgV-EJ for pgsql-announce@arkaria.postgresql.org; Mon, 20 Oct 2025 14:37:13 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1vAr0a-0016xA-C4 for pgsql-announce@arkaria.postgresql.org; Mon, 20 Oct 2025 14:37:11 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1vAr0Z-0016ws-Fi for pgsql-announce@lists.postgresql.org; Mon, 20 Oct 2025 14:37:10 +0000 Received: from mahout.postgresql.org ([2001:4800:3e1:1::227]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vAr0V-003FHd-1H for pgsql-announce@lists.postgresql.org; Mon, 20 Oct 2025 14:37:10 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=postgresql.org; s=20171124; h=Message-ID:Date:Reply-To:From:To:Subject: MIME-Version:Content-Type:Sender:Cc:Content-Transfer-Encoding:Content-ID: Content-Description:In-Reply-To:References; bh=nE3xn/HPIpa3+A/E6LbI/1tSbAdR1bKCFRw96AKefdc=; b=SeHgkwWG/QI18SfLQNRXu7qdhI Q72Cdfp82S3RvTgVPkaWZa93xiVKrbIQm2NZMq9kgwwhE/47ssEXcJsXW/o4+DaIB42xUvz8TkBlZ +FVg03V1AJ8ubQgok95NTy0Wgi/RJMUx8j5XziWOD+8IUMk7xddRL16NEI1T3sykq0nXx0+W6+7kU Ou1Eu8SEL3nO8iXXy6bkqIEEPCMQmdJkm+lx1JwhTN26q/+bELyj8mFqD0+5cDg2BMir0NTFC8bwM s1jHn0OmyFR5uZEnZ1ziHLG6U5hfYHGAWTrjrE1JhcXOWiGZoySMN1ZM1CvNwXXlfJ1aCuW6PZ3Z/ LSLfMmcQ==; Received: from wrigleys.postgresql.org ([217.196.149.60]) by mahout.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1vAr0U-002rah-Vd for pgsql-announce@lists.postgresql.org; Mon, 20 Oct 2025 14:37:05 +0000 Received: from localhost ([127.0.0.1] helo=wrigleys.postgresql.org) by wrigleys.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vAr0R-008wUs-0H for pgsql-announce@lists.postgresql.org; Mon, 20 Oct 2025 14:37:03 +0000 Content-Type: multipart/mixed; boundary="===============0655997956866003562==" MIME-Version: 1.0 Subject: pg_dbms_errlog v2.2 released To: PostgreSQL Announce From: HexaCluster via PostgreSQL Announce Reply-To: gilles@hexacluster.ai Date: Mon, 20 Oct 2025 14:37:00 +0000 Message-ID: <176097102011.770.331558318105182708@wrigleys.postgresql.org> X-Auto-Response-Suppress: All Auto-Submitted: auto-generated X-pglister-tags: related X-pglister-tagsig: c8d99b9fe6181c4f8640a74f35b81e16e0d9921af7a29c86e6e93fb63981d649 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --===============0655997956866003562== Content-Type: multipart/alternative; boundary="===============5658523225349690855==" MIME-Version: 1.0 --===============5658523225349690855== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Durban, South Africa - October 20, 2025 ## PostgreSQL DBMS_ERRLOG compatibility extension The pg_dbms_errlog extension provides the infrastructure that enables you t= o create an error logging table so that DML operations can continue after e= ncountering errors rather than abort and roll back. It requires the use of = the [pg_statement_rollback](https://github.com/HexaCluster/pg_statement_rol= lback) extension or to fully manage the SAVEPOINT in the DML script. Loggin= g in the corresponding error table is done using dynamic shared memory for = error queuing and a background worker to write the errors queued into the c= orresponding error log tables. Note that configuration setting `max_worker_= processes` must be high enough to support the extension, as it will launch = up to `pg_dbms_errlog.max_workers` dynamic background workers, plus an addi= tional fixed background worker. Error logging can be done synchronously by registering the error at query l= evel or when the transaction ends using GUC `pg_dbms_errlog.synchronous`. L= ogging at transaction is the default and must be preferred to query, it is = the mode that can guarantee that only errors on a committed transaction wil= l be logged. When synchronous logging is disabled off error logging is done= when the bg_worker wakes up or when function `dbms_errlog.publish_queue()`= is called or that the synchronous level is changed. pg_dbms_errlog v2.2 has been released, this is a maintenance release to add= compatibility with PostgreSQL 17+. The project has also been moved from the deprecated Migops repository to He= xaCluster Corp.'s GitHub repository to ensure project maintenance.=20 Complete list of changes and acknowledgments are available [here](https://g= ithub.com/HexaCluster/pg_dbms_errlog/releases/tag/v2.2) ## Links & Credits pg_dbms_errlog is an open project under the PostgreSQL license maintained b= y [HexaCluster](https://github.com/HexaCluster/credcheck/) and created by G= illes Darold as part of the improvement of Ora2Pg. Any contribution to buil= d a better tool is welcome. You can send your ideas, features requests or p= atches using the GitHub tools. **Links :** * Download: [https://github.com/HexaCluster/pg_dbms_errlog/releases/](http= s://github.com/HexaCluster/pg_dbms_errlog/releases/) * Support: use GitHub report tool at [https://github.com/HexaCluster/pg_dbm= s_errlog/issues](https://github.com/HexaCluster/pg_dbms_errlog/issues) ## About pg_dbms_errlog Documentation at [https://github.com/HexaCluster/pg_dbms_errlog#readme](htt= ps://github.com/HexaCluster/pg_dbms_errlog#readme) --===============5658523225349690855== Content-Type: text/html; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable pg_dbms_errlog v2.2 released
 

pg_dbms_errlog v2.2 released

Durban, South Africa - October 20, 2025

PostgreSQL DBMS_ERRLOG compatib= ility extension

The pg_dbms_errlog extension provides the i= nfrastructure that enables you to create an error logging table so that DML= operations can continue after encountering errors rather than abort and ro= ll back. It requires the use of the pg_statement_rollback extension or to fully manage the SAVEPOINT in= the DML script. Logging in the corresponding error table is done using dyn= amic shared memory for error queuing and a background worker to write the e= rrors queued into the corresponding error log tables. Note that configurati= on setting max_worker_processes must be high enough to support= the extension, as it will launch up to pg_dbms_errlog.max_workers dynamic background workers, plus an additional fixed background worker= .

Error logging can be done synchronously by = registering the error at query level or when the transaction ends using GUC= pg_dbms_errlog.synchronous. Logging at transaction is the def= ault and must be preferred to query, it is the mode that can guarantee that= only errors on a committed transaction will be logged. When synchronous lo= gging is disabled off error logging is done when the bg_worker wakes up or = when function dbms_errlog.publish_queue() is called or that th= e synchronous level is changed.

pg_dbms_errlog v2.2 has been released, this= is a maintenance release to add compatibility with PostgreSQL 17+.

The project has also been moved from the de= precated Migops repository to HexaCluster Corp.'s GitHub repository to ensu= re project maintenance.

Complete list of changes and acknowledgment= s are available here<= /a>

Links & Credits

pg_dbms_errlog is an open project under the= PostgreSQL license maintained by HexaClust= er and created by Gilles Darold as part of the improvement of Ora2Pg. A= ny contribution to build a better tool is welcome. You can send your ideas,= features requests or patches using the GitHub tools.

Links :

About pg_dbms_errlog

Documentation at https://github.com/HexaCluster/pg_dbms_errlog#readme

This email was sent to you from HexaCluster. It was delivered on their beha= lf by the PostgreSQL project. Any questions about the content of the message shou= ld be sent to HexaCluster.

You were sent this email as a subscriber of the pgsql-announce mai= linglist, for the content tag Related Open Source. To unsubscribe from further emails, or change which emails you want to receive, please click th= e personal unsubscribe link that you can find in the headers of this email, or visit https://lists.postgresql.org/unsubscribe/.
 
--===============5658523225349690855==-- --===============0655997956866003562==--