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
Top comments (0)