PostgreSQL vs. MySQL

PostgreSQL and MySQL are open-source, relational database management systems known for their speed. They support similar syntax and many of the same languages, but there are some key differences. For example, PostgreSQL is known for robustness and scalability, while MySQL is known for speed and ease of use.

MySQL is owned by Oracle Corporation (after they acquired Sun Microsystems in 2010) and offers several paid editions. PostgreSQL remains 100% open-source, and licenses are released under the PostgreSQL license.

There are several high-level differences between PostgreSQL and MySQL.

  • MySQL is considered a purely relational database, while PostgreSQL is an object-relational database system.
  • MySQL is considered “partly SQL-compliant” because it does not support all SQL features. PostgreSQL is more compliant than MySQL, supporting almost 90 percent of the primary SQL features.
  • PostgreSQL is fully ACID compliant, while MySQL is ACID compliant only with the NDB and InnoDB storage engines.
  • PostgreSQL supports many advanced data types that cannot be used with MySQL, including network address types, native UUID, and timezone-aware timestamps.
  • PostgreSQL and MySQL support replication, PostgreSQL offers synchronous replication, while MySQL offers one-way asynchronous replication.
  • PostgreSQL and MySQL work well with BI (Business Intelligence); however, PostgreSQL is also well suited for data warehousing and data analysis applications where fast read-write speeds are needed.
  • MySQL performs well in systems where only read speed is important, but PostgreSQL works best in systems which demand the execution of complex queries.

Additional PostgreSQL Topics to Explore