PostgreSQL vs. MySQL
Par Sébastien Lardière le vendredi, octobre 26 2007, 16:31 - PostgreSQL - Lien permanent
On me demande souvent la liste des différences existantes entre PostgreSQL et MySQL. Je vais donc tenter de faire une liste des fonctionnalités existantes dans PostgreSQL, et pas dans MySQL :
- L'opérateur
||
, pour la concaténation de chaines de caractères, qui fait parti du standard SQL. - Un type de données booléen.
- Les contraintes de vérifications sur les colonnes, et sur une table, avec le mot-clé
CHECK
. - Les clés étrangères ne sont présentes qu'avec le moteur de stockage InnoDb.
- Le fait de pouvoir différer les vérifications des clés étrangères.
- Les déclencheurs sur les ordres (
For each statement
), et non pas seulement sur les tuples (For each row
). - Les ordres
DDL
compatiblesACID
. - Les domaines : types de données avec des contraintes.
- Les aggrégats définis par l'utilisateur.
- Le choix du langage de procédures stockées : Java, Php, Python, Perl, C, Ruby, Sh, ...
- Les règles de réecritures des requêtes.
- Un auto-incrément mutualisé entre plusieurs tables.
- Des opérateurs et transtypages définis par l'utilisateur.
- La notion d'espace de noms (schémas). Cette notion est confondue avec celle de base de données dans MySQL, alors qu'elle est bien distincte dans le cas de PostgreSQL.
- Les espaces de données (tablespace).
- L'héritage de tables.
- Les types d'index définis pas l'utilisateur.
Cette liste est dans le désordre, et certainement pas finie...