web-dev-qa-db-fra.com

Raisons d'exécuter Drupal sur PostgreSQL

Quelles seraient les principales raisons de lancer Drupal sur PostgreSQL, en termes de fonctionnalités et de performances disponibles? C'est-à-dire quelles fonctionnalités postgres de qui sont prises en charge par Drupal ne sont pas disponibles sur mysql? Par exemple, postgres est connu pour la conformité et les transactions ACID; Drupal core tire-t-il parti de ces fonctionnalités ou d'autres?

Cette question n'est pas de savoir quelle est la meilleure base de données en général, mais plutôt s'il y a des raisons spécifiques pour lesquelles on pourrait choisir postgres plutôt que mysql. Un compromis évident est que de nombreux modules contrib seront bogués sur postgres.

Je travaille avec D6, mais n'hésitez pas à orienter les réponses vers n'importe quelle version majeure.

6
ted.strauss

Personnellement, je pense que la seule raison de choisir PostgreSQL plutôt que MySQL est si vous (ou votre client) êtes déjà un magasin PostgreSQL et avez des DBA qui connaissent bien PostgreSQL et connaissent les tenants et les aboutissants du babysitting. Je dirais également que la même chose s'applique également au choix de MySQL sur PostgreSQL, en supposant que vous n'utilisez aucun module contrib avec des fonctions uniquement MySQL.

7
mpdonadio

Certains de nos clients insistent pour utiliser PostgreSQL car c'est la seule base de données qu'ils peuvent prendre en charge en interne.

Après avoir implémenté quelques Drupal projets utilisant Postgres, je dirais que Postgres est généralement plus rapide et je le considérerais si le site a besoin de beaucoup de vues assez complexes. MySQL n'a qu'un seul algorithme de jointure (boucle imbriquée) ), tandis que Postgres en fournit quelques-unes, donc lorsque les vues ont beaucoup de JOIN, Postgres peut être plus avantageux. Cela est plus vrai si ces vues ont également beaucoup de filtres exposés. Cependant, les vues (2.x et 3.x) peuvent rencontrer des problèmes avec Postgres qui certaines vues avec DISTINCT peuvent ne pas fonctionner très bien, voire pas du tout.

À la fin de la journée, si votre client insiste sur Postgres et/ou que les performances sont une priorité, essayez-le, mais soyez très prudent car certains modules populaires ou certaines fonctionnalités peuvent ne pas fonctionner correctement. Ou restez avec MySQL si vous n'avez pas d'appétit pour le risque.

2
Invisigoth

Personnellement, j'utilise Drupal sur Postgres car j'ai besoin de l'extension PostGIS, mais je pense que ce n'est pas un besoin pour de nombreuses applications.

1
Giustiniano