Hi

I’d like to propose that we move Apache Fineract to PostgreSQL as the single 
supported database and stop maintaining MySQL/MariaDB support.
Maintaining support for multiple database engines (MySQL, MariaDB, and 
PostgreSQL) adds ongoing complexity to Fineract without providing real 
benefits. 

PostgreSQL can handle everything we currently rely on from MySQL/MariaDB, and 
it also provides stronger database features that we could start using if we 
were not constrained by multi-engine support.
Supporting several databases increases the effort required for development, 
testing, schema migrations, and debugging. It also introduces subtle 
differences in SQL behavior that we constantly need to work around.
PostgreSQL is simply a better fit for a system like Fineract. 

A few examples:
Sequences / identity columns for primary keys
PostgreSQL has proper sequence support and identity columns, which provide 
clearer and more flexible primary key generation than MySQL-style 
auto-increment.
Native table partitioning
PostgreSQL has mature built-in partitioning that could help with large tables 
such as journal entries or transaction tables, making long-term scaling and 
maintenance easier.
More advanced indexing options
PostgreSQL supports partial indexes, expression indexes, and better JSON 
capabilities, which can help with query performance and reporting use cases.

Given this, it would make sense to move toward PostgreSQL as the single 
supported database. 
This would simplify the codebase, reduce maintenance work, and allow the 
project to take advantage of features that PostgreSQL already provides.

What do think?

Regards,
Adam

Reply via email to