Durban, South Africa - October 20, 2025

## PostgreSQL DBMS_ERRLOG compatibility extension

The pg_dbms_errlog extension provides the infrastructure that enables you to 
create an error logging table so that DML operations can continue after 
encountering errors rather than abort and roll back. It requires the use of the 
[pg_statement_rollback](https://github.com/HexaCluster/pg_statement_rollback) 
extension or to fully manage the SAVEPOINT in the DML script. Logging 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 corresponding 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 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 default 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 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 
HexaCluster Corp.'s GitHub repository to ensure project maintenance. 

Complete list of changes and acknowledgments are available 
[here](https://github.com/HexaCluster/pg_dbms_errlog/releases/tag/v2.2)

## Links & Credits

pg_dbms_errlog is an open project under the PostgreSQL license maintained by 
[HexaCluster](https://github.com/HexaCluster/credcheck/) and created by Gilles 
Darold as part of the improvement of Ora2Pg. Any contribution to build a better 
tool is welcome. You can send your ideas, features requests or patches using 
the GitHub tools.

**Links :**

* Download:  
[https://github.com/HexaCluster/pg_dbms_errlog/releases/](https://github.com/HexaCluster/pg_dbms_errlog/releases/)
* Support: use GitHub report tool at 
[https://github.com/HexaCluster/pg_dbms_errlog/issues](https://github.com/HexaCluster/pg_dbms_errlog/issues)

## About pg_dbms_errlog

Documentation at 
[https://github.com/HexaCluster/pg_dbms_errlog#readme](https://github.com/HexaCluster/pg_dbms_errlog#readme)

Reply via email to