We have been developing pg_bitemporal library for over five years. It started as a proof of concept. We didn’t pay much attention to how performant were the bitemporal operations. Things changed three years ago, when we started to build the OLTP system at Braviant Holdings using the Asserted Versioning Framework (AVF). Responding to practical business needs we added several functions which were not included in the original specs and developed bitemporal integrity constraints support.
Since the syntax of UPDATE operator which we were using internally in the bitemporal functions is not supported in PG 10 and up, we did extensive rework to make pg_bitemporal PG-10 compliant. It addition, we made some changes which dramatically improved performance of bitemporal functions. In our talk we will cover the following topics:
- New versions of existing bitemporal functions
- Performance improvements for bitemporal updates
- How to achieve perfect performance on bitemporal tables
In addition, we will present the statistics collected in the bitemporal production environment.