Accueil🇫🇷Chercher

PostgreSQL

PostgreSQL est un système de gestion de base de données relationnelle et objet (SGBDRO). C'est un outil libre disponible selon les termes d'une licence de type BSD.

PostgreSQL
Description de l'image Postgresql elephant.svg.
Description de l'image PostgreSQL 13.2 screenshot.png.
Informations
Créateur Michael Stonebraker
Développé par PostgreSQL Global Development Group (d)
Première version
Dernière version 15.3 ()[1]
DĂ©pĂ´t git.postgresql.org/gitweb/?p=postgresql.git
Écrit en C
Système d'exploitation FreeBSD, OpenBSD, Linux, macOS, Solaris, Microsoft Windows et type Unix
Type Système de gestion de base de données relationnelle (en)
SQL server (d)
Politique de distribution Gratuit
Licence Licence PostgreSQL (d)
Site web www.postgresql.org

PostgreSQL
Informations
Fonction Gestion de bases de données
Port 5432[2]

Ce système est comparable à d'autres systèmes de gestion de base de données, qu'ils soient libres (comme MariaDB et Firebird), ou propriétaires (comme Oracle, MySQL, Sybase, DB2, Informix et Microsoft SQL Server). Comme les projets libres Apache et Linux, PostgreSQL n'est pas contrôlé par une seule entreprise, mais est fondé sur une communauté mondiale de développeurs et d'entreprises.

Histoire

L'histoire de PostgreSQL remonte à la base de données Ingres, développée à Berkeley par Michael Stonebraker. Lorsque ce dernier décida en 1985 de recommencer le développement de zéro, il nomma le logiciel Postgres, comme raccourci de post-Ingres. Lors de l'ajout des fonctionnalités SQL en 1995, Postgres fut renommé Postgres95. Ce nom fut changé à la fin de 1996 en PostgreSQL.

Le projet s'organise de manière à maintenir simultanément plusieurs versions stables ainsi qu'un dépôt mis à jour en continu[3]. Cette pratique est extrêmement appréciable pour les productions des systèmes informatiques car elle leur permet de lisser les besoins de migration obligée de leurs applications qui utilisent des bases de données sur les moments de faible charge et de disponibilités de leurs ressources. Elles réalisent ainsi de très sérieuses économies, puisqu'on estime en moyenne que cette charge représente au moins 40 %, mais le plus souvent jusqu'à 60 % des coûts de fonctionnement des organisations informatiques au sein des entreprises.

Principales caractéristiques

Ce SGBDRO utilise des types de données modernes, dits composés ou enrichis suivant les terminologies utilisées dans le vocable informatique usuel. Ceci signifie que PostgreSQL peut stocker plus de types de données que les types simples traditionnels entiers, caractères, etc. L'utilisateur peut créer des types, des fonctions, utiliser l'héritage de type, etc.

PostgreSQL est plus avancé que ses concurrents dans la conformité aux standards SQL (énoncé vrai entre 2012 et 2015). PostgreSQL est pratiquement conforme (de plus en plus conforme) aux normes ANSI SQL 89, SQL 92 (SQL 2), SQL 99 (SQL 3), SQL:2003 et SQL:2008[4]. Il fonctionne sur diverses plates-formes matérielles et sous différents systèmes d'exploitation.

PostgreSQL fonctionne sur Solaris, SunOS, Mac OS X, HP-UX, AIX, Linux, IRIX, Digital Unix, BSD, NetBSD, FreeBSD, OpenBSD, SCO unix, NeXTSTEP, UnixWare et toutes sortes d'Unix. Depuis la version 8.0, PostgreSQL fonctionne également nativement sur Windows. Avant la version 8, il fallait une couche de compatibilité POSIX (par exemple cygwin) pour faire fonctionner PostgreSQL sur ce système d'exploitation.

PostgreSQL est largement reconnu pour son comportement stable, proche de Oracle, mais aussi pour ses possibilités de programmation étendues, directement dans le moteur de la base de données, via PL/pgSQL. Le traitement interne des données peut aussi être couplé à d'autres modules externes compilés dans d'autres langages.

Outre sa capacité à gérer des bases de données volumineuses[5], PostgreSQL est souvent utilisé pour sa capacité à gérer des bases de données spatiales (SIG), grâce à son extension PostGIS qui intègre une riche bibliothèque de fonctions géographiques.

Outils d'administration

Interfaces utilisateurs

  • psql est une interface en ligne de commande permettant la saisie de requĂŞtes SQL, directement ou par l'utilisation de procĂ©dures stockĂ©es.
  • pgAdmin[6] est un outil d'administration graphique pour PostgreSQL distribuĂ© selon les termes de la licence PostgreSQL[7].
  • phpPgAdmin est une interface web d’administration pour PostgreSQL. L'outil d'administration est Ă©crit en PHP et supporte les diffĂ©rentes branches de PostgreSQL depuis sa version 7. L'interface s'appuie sur des scripts PHP et sur la base de donnĂ©es PostgreSQL pour favoriser les diverses tâches d'administration via le World Wide Web.
  • Adminer est une interface web lĂ©gère d’administration pour plusieurs SGBD dont PostgreSQL

Outils connexes

  • DBLink est un module permettant de travailler sur deux bases diffĂ©rentes.
  • ECPG est un outil de SQL embarquĂ©.
  • PostGIS est le module spatial qui confère Ă  PostgreSQL le statut de SGDBR spatial.

Windows

  • DeZign for Databases est un utilitaire pour les administrateurs et les concepteurs de bases de donnĂ©es qui ont besoin de crĂ©er des scripts SQL basĂ©s sur leurs diagrammes tels que UML (Unified Modeling Language) ou ERD (Modèle entitĂ©-association).
  • ERBuilder Data Modeler est un logiciel de modĂ©lisation de bases de donnĂ©es, c'est un outil visuel pour la modĂ©lisation de bases de donnĂ©es et la gĂ©nĂ©ration de scripts DDL en utilisant une approche entitĂ©-association.
  • Toad Data Modeler vous permet de dĂ©ployer des modifications prĂ©cises des structures de donnĂ©es sur plus de 20 plates-formes diffĂ©rentes y compris PostgreSQL. Il permet aussi de construire des modèles de donnĂ©es logiques et physiques, de comparer et de synchroniser des modèles, de gĂ©nĂ©rer rapidement des SQL / DDL complexes.

Multiplateforme

  • Kexi est une interface graphique libre de contrĂ´le des bases de donnĂ©es parmi les plus rĂ©pandues dans le monde Unix/Linux.
  • Open ModelSphere est un outil de gĂ©nie logiciel permettant la modĂ©lisation relationnelle de donnĂ©es, la modĂ©lisation des processus d'affaires, et la modĂ©lisation UML.
  • Umbrello UML Modeller est un logiciel libre de modĂ©lisation UML disponible en natif sous Unix et faisant partie de l'environnement de bureau KDE.
  • StarUML est un logiciel de modĂ©lisation UML qui gère la plupart des diagrammes spĂ©cifiĂ©s dans la norme UML 2.0. StarUML propose une extension pour le support de la gĂ©nĂ©ration du DDL (Data Definition Language) Ă  partir de PostgreSQL.
  • Navicat est une suite logicielle graphique de gestion et de dĂ©veloppement de bases de donnĂ©es. Navicat est un outil multiplate-forme qui fonctionne sous Microsoft Windows, Mac OS X et Linux.

Pilotes

Pour chacun des langages usuels, ou avancés, PostgreSql dispose d'une interface le plus souvent proposée sous la forme d'un pilote du moteur de base de données. C'est ainsi le cas notamment pour PHP, Ruby, Java, Perl, Python, ou C et C++, mais aussi pour de très nombreux autres langages.

Notes et références

  1. « PostgreSQL 15.3, 14.8, 13.11, 12.15, and 11.20 Released! », (consulté le )
  2. Documentation française PostgreSQL .
  3. Dépôt de code source principal, « PostgreSQL git repository », sur git.postgresql.org, (consulté le ).
  4. (fr) Documentation PostgreSQL 9.0 - Conformité SQL : « PostgreSQL supporte la plupart des fonctionnalités majeures de SQL:2008. Sur les 179 fonctionnalités requises pour une conformité « centrale » complète (full Core conformance), PostgreSQL se conforme à plus de 160. »
  5. (fr) : «La base la plus volumineuse pèse environ 30 Tera-octets»
  6. (en) Guillaume Lelarge, pgAdmin III v1.14.2 released, pgsql-announce, (lire en ligne)..
  7. site pgAdmin, « pgAdmin: Licence », sur pgadmin.org, (consulté le ).
  8. https://wiki.postgresql.org/wiki/Design_Tools
  9. Pilote JDBC pour postgres
  10. « DBD::Pg - PostgreSQL database driver for the DBI module - metacpan.org », sur metacpan.org (consulté le )
  11. Joe Conway, Dirk Eddelbuettel, Tomoaki Nishiyama et Sameer Kumar Prayaga (during 2008), RPostgreSQL: R Interface to the 'PostgreSQL' Database System, (lire en ligne)

Voir aussi

Articles connexes

  • SQL, le langage de requĂŞtes.
  • Ingres, un SGBD du mĂŞme dĂ©veloppeur, plus ancien, libĂ©rĂ© en 2004.
  • MySQL, un SGBD rachetĂ© par Oracle.

Liens externes

Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplémentaires peuvent s’appliquer aux fichiers multimédias.