PostgreSQL 9.0: Includes the new MySQL Emulation Layer

Posted by ads' corner on Thursday, 2010-04-01
Posted in [Postgresql-News][Pwn]

PostgreSQL 9.0.0, released today, contains the MySQL Emulation Layer.

To enable this feature, set the mysql_compatible option GUC to on.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
postgres=# SELECT * FROM pg_settings WHERE name = 'mysql_compatible';
-[ RECORD 1 ]----------------------------------------------------------------
name       | mysql_compatible
setting    | on
unit       |
category   | Version and Platform Compatibility / Other Platforms and Clients
short_desc | Enable MySQL Emulation Layer
extra_desc |
context    | backend
vartype    | bool
source     | default
min_val    |
max_val    |

Enabling this option changes the following characteristics (in the entire PostgreSQL cluster):

The following new features are activated by enabling mysql_compatible = on:

Some well-known PostgreSQL-features are incompatible with this new extension:

  • ACID: Instead, MySQL ACID will be used. Committed data may or may not be written after a crash, depending on - among other details - the current phase of the moon, the color of electrons and the weather conditions in Oz.
  • Transactional DDL and DCL.
  • User defined data types.
  • For convenience, EXPLAIN output is printed on a single line.
  • Schemas are no longer supported.

Certainly, support is available for all users of the new emulation layer. The license of this extension is BSD-style, allowing users to use and integrate PostgreSQL with MySQL Emulation Layer into your application. Dual-licensing is no longer a source of trouble.


Categories: [Postgresql-News] [Pwn]