views:

85

answers:

1

Several programs demand that the underlying DB is MySQL. Similarly, software like GridSQL demand that the underlying database is PostgreSQL. If they were integrated then, there would be a wealth of advantages including:

  1. Easier migration between the two.
  2. Possibly the ability to use MySQL replication with PostgreSQL
  3. Ability to use software that can only communicate with MySQL with PostgreSQL
  4. A new transaction based storage engine in MySQL

I do understand that things like PostgreSQL arrays make it impossible to simply attach the MySQL interface to any PostgreSQL database, but the database was created only through the MySQL interface, then there would be a guarantee that it did not contain Arrays.

Now what are the other reasons why this is not possible?

+1  A: 

From the MySQL-manual:

MySQL stores its data dictionary information for tables in .frm files in database directories. This is true for all MySQL storage engines

As a result there is no transactional DDL possible in MySQL, one of the most handy things in PostgreSQL. Using PostgreSQL as an engine in MySQL, would kill this option.

PostgreSQL also has a much richer SQL dictionary, that might give problems in MySQL.

Another major difference is the usage of schema's in PostgreSQL. What is called a database in MySQL, is sort of a schema in PostgreSQL.

Imho it doesn't make sense to create a PostgreSQL-engine in MySQL if you want to use PostgreSQL. I'm afraid you would lose the best things of PostgreSQL because of the limitations of MySQL.

Frank Heikens