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
