In this post, we are going to analyze the differences between PostgreSQL and MariaDB, two of the most well-known and widely-used open source relational database management systems (RDBMS).

1. Core principle

PostgreSQL branded itself as the world’s most advanced open source database with bunches of robust features, while MariaDB thrives as the binary drop-in replacement of the same MySQL version, more advanced features, better performance.

MariaDB was also built by the original developer team of Mysql with the commitment of keeping it open source forever.

2. Supported programming languages

  • PostgreSQL supports .Net, C, C++, Delphi, Java, Perl, PHP, Python, Tcl
  • MariaDB supports a lot more than that: Ada, C, C#, C++, D, Eiffel, Erlang, Go, Haskell, Java, JavaScript (Node.js), Objective-C, OCaml, Perl, PHP, Python, Ruby, Scheme, Tcl.

3. Features comparison

  • In-memory capabilities: MariaDB offers an option to define some of more structures to be held in-memory only, while PostgreSQL doesn’t.
  • ACID compliant: Both MariaDB and PostgreSQL are fully ACID compliant, there’s not much different here.
  • Replication: MariaDB supports both Master-Master replication and Master-Slave replication; while PostgreSQL only supports Master-Slave replication method.
  • Portioning method: MariaDB support sharding with Spider storage engine or Galera cluster and horizontal partitioning. PostgreSQL does not support any portioning method.
  • Data integrity: PostgreSQL has always been strict about making sure data is valid before allowing it into the database, while using MariaDB, users have to be more careful about data validation.
  • JSON support: PostgreSQL supports JSON and JSONB while MariaDB doesn’t. It supports an alias for JSON instead, which is a LONGTEXT column.

4. Size

MariaDB is lighter than PostgreSQL.

MariaDB:

  • macOS: 65.9Mb
  • Windows: 53Mb
  • Linux: 43.5Mb

PostgreSQL:

  • macOs: 124Mb
  • Windows: 150Mb
  • Linux: 116Mb

5. User-friendly

PostgreSQL is not really to application developers and it creates a high barrier for the new entries because it’s more advanced and quite complicated to setup and run.

6. Application

  • MariaDB is more likely to be used in building databases to support web apps, multimedia sites, and e-commerce platforms.
  • PostgreSQL is widely used in large systems where read and write speeds are crucial and data needs to validate. It makes sure that data is in a consistent state. Because of its complexity and power, it may be an overkill to use PostgreSQL in small applications that will not make use of its full power.

Need a good GUI Tool for PostgreSQL or MariaDB? Try TablePlus. It’s is a modern, native GUI that allows you to simultaneously manage multiple databases such as MySQL, MariaDB, PostgreSQL, SQLite, Microsoft SQL Server… faster and easier.


Download TablePlus for Mac.

Not on Mac? Download TablePlus for Windows.

On Linux? Download TablePlus for Linux

Need a quick edit on the go? Download TablePlus for iOS.

TablePlus GUI Tool MySQL