Exception Handling
Exception Handling
The persistence module handles exceptions by using the Postgres error reporting infrastructure (ereport). An error message is recorded in the system log for each error condition. In addition, the error is reported to the envelope using Postgres’s built-in error reporting infrastructure.
The following exceptions are reported by this module –
Table 1 Exception Handling
| Exception Condition | Exception Code | Scenario | Resulting Outcome |
| WAL write failure | ERRCODE_FDW_ERROR | On any case the WAL write fails | Transaction terminates |
| File IO error: write, open and so on | ERRCODE_IO_ERROR | Checkpoint – Called on any file access error | FATAL – process exists |
| Out of Memory | ERRCODE_INSUFFICIENT_RESOURCES | Checkpoint – Local memory allocation failures | FATAL – process exists |
| Logic, DB errors | ERRCODE_INTERNAL_ERROR | Checkpoint: algorithm fails or failure to retrieve table data or indexes. | FATAL – process exists |