Showing results for 
Search instead for 
Did you mean: 

Feature request: Support for PostgreSQL

Feature request: Support for PostgreSQL

Feature request from paales, posted on GitHub Nov 17, 2014

In the light of the new Postgres 9.4 features: indexed JSONB, wouldn't it be awesome if Magento supported it.

  • JSONB (brought into mainline in 9.4) -> Ideal replacement for flat tables, performance is on par (or better) than MongoDB.
  • Flexible full-text search (brought into mainline in 8.2) -> Ideal for a simple search when SOLR is too much
  • Multiple replication options to suit your environment and requirements
  • Uses multi-version concurrency control, so concurrent performance rocks
  • Fully ACID compliant (innodb is as well)
  • Well-documented
  • Strong access-control framework
  • Materialized Views

There are probably a 1000 more features that I can't think of, but I think you get the point. I understand Magento would like to support MySQL as well because it is more entry level and Magento has some abstract resource methods which should support other databases, but in practice Magento currently only supports MySQL. Better official support and feature integration would be awesome.

Not applicable
Status changed to: Investigating
Not applicable

Comment from alankent, posted on GitHub Nov 17, 2014

Thanks for the idea. Being up front, this is very unlikely to make Magento 2.0. We are focussing first on modularity, decoupling dependencies, working out better internal APIs. Once this is done, it should be easier to replace complete modules and provide clearer ownership of which modules own which data.

Blue sky alert (the following is thoughts about the possible future, not a commitment of any kind): After that however one of the items being considered is to rework the database access layer. Your request would fit in with that effort. For example, can we abstract away the database access behind an API that makes it possible to replace MySQL without changing all the business logic? Or can we replace the database backend of say just the shopping cart without touching any other modules? (Wherever a site encounters a bottleneck.) The former is easier due to database transactions, but the latter may give better opportunities for scale.

So swapping out the database completely with a different database makes does sense. For example, if we moved to Doctrine (or similar), can it provide all the abstraction from the database engine Magento needs? That would save a lot of effort. Remember also we need to worry about accessing the tables from the web site (obviously), but also creating and upgrading tables is important as well, possibly taking advantage of non-relational capabilities of some database backends (e.g. JSONB), efficient data import/export, and backups. All needs to be taken into account.

So I very much doubt this will make the Magento 2.0 release timeline. But definitely an area we have thought about (no PostgreSQL in particular, but any future storage backend technology).

Not applicable

Comment from cstopery, posted on GitHub Nov 18, 2014


Not applicable

Comment from choukalos, posted on GitHub Jan 27, 2015

I'm tracking some platform epics around introducing a new data access layer later after Magento 2.0 is released. It's way down there in the backlog; idea being a new data access layer might ( depends on architecture decision) have support for databases other than MySQL; we'd add services & refactor before doing that as that would minimize the disruption of adding a new data access layer to the system to the ecosystem.

Not applicable

Comment from vpelipenko, posted on GitHub Jan 29, 2015

Internal ticket: MAGETWO-31586

Not applicable

Comment from seanmindarc, posted on GitHub Feb 20, 2016

@vpelipenko Is there anywhere we can see the progress of this internal ticket inside the Magento Partners portal? - MAGETWO-31586

Not applicable

Comment from zh99998, posted on GitHub Mar 09, 2016

+1 for this request

Not applicable

Comment from ppKrauss, posted on GitHub Apr 08, 2016

+1 for this request!

PS: PostgreSQL 9.5 have JSON and JSONB mature support, so not need other "noSQL" support.

Not applicable

Comment from ppKrauss, posted on GitHub Apr 08, 2016

@alankent, how to start a "task force" to start this "Doctrine or direct SQL adaptations"?

PS: even if slowly, we, the interest-group, can start something... Even if very slowly, will be better to do nothing! ;-)

Regular Visitor