Recherche de site Web

Qu’est-ce que PostgreSQL ? Comment fonctionne PostgreSQL ?


PostgreSQL est le système de gestion de bases de données open source d’entreprise le plus avancé au monde, développé par legroupe de développement mondial P ostgreSQL. Il s’agit d’un système de base de données SQL (Structured Query Language) objet-relationnel puissant et hautement extensible, populaire pour sa fiabilité, sa robustesse et ses performances élevées. Il est connu pour être hautement évolutif à la fois dans la quantité de données qu’il peut stocker et gérer et dans le nombre d’utilisateurs simultanés qu’il peut accueillir.

PostgreSQL est disponible et distribué sous la licence PostgreSQL, une licence open source libérale. Cela implique que vous pouvez télécharger le logiciel, l’utiliser, le modifier et le distribuer gratuitement à n’importe quelle fin. Il est également multiplateforme, il fonctionne sur Linux, Windows et macOS, ainsi que sur de nombreux autres systèmes d’exploitation.

Télécharger PostgreSQL

  • Télécharger PostgreSQL 12

Il utilise et étend le langage SQL avec de nombreuses fonctionnalités puissantes et modernes. Bien qu’il soit conforme à SQL et que de nombreuses fonctionnalités requises par la norme SQL soient prises en charge (la dernière version de PostgreSQL est 12 au moment de la rédaction confirme au moins 160 des 179 fonctionnalités obligatoires pour SQL), il existe de légères variations dans la syntaxe ou la fonction.

Comment fonctionne PostgreSQL ?

PostgreSQL utilise un modèle client-serveur où le client et le serveur peuvent résider sur des hôtes différents dans un environnement en réseau. Le programme serveur gère les fichiers de base de données et accepte les connexions à la base de données à partir d’applications clientes. Il peut gérer plusieurs connexions simultanées à partir de clients en « forkant » un nouveau processus pour chaque connexion. Il exécute les demandes de base de données des clients et renvoie les résultats aux clients. Les clients distants peuvent se connecter via le réseau ou Internet au serveur.

Les programmes clients valides incluent des outils orientés texte fournis avec PostgreSQL, un outil graphique ou des applications développées à l’aide d’autres langages de programmation.

Principales caractéristiques de PostgreSQL

PostgreSQL prend en charge plusieurs types de données, notamment les primitives (telles que chaîne, entier, numérique et booléen), les structures (telles que date/heure, tableau, plage et UUID), les documents (JSON, JSONB, XML, Key-Value (Hstore)), la géométrie (point, ligne, cercle et polygone) et les personnalisations (types composites et personnalisés). Il prend en charge l’intégrité des données à l’aide de fonctionnalités telles que UNIQUE, NOT NULL, clés primaires et étrangères, contraintes d’exclusion, verrous explicites et consultatifs.

  • Il est conçu pour la concurrence et les performances à l’aide de nombreuses fonctionnalités, notamment l’indexation et l’indexation avancée, les transactions et les transactions imbriquées, le contrôle de simultanéité multiversion (MVCC), la parallélisation des requêtes de lecture et la création d’index B-tree, le partitionnement de table, la compilation juste-à-temps (JIT) des expressions, etc.
  • Pour garantir la fiabilité, la redondance des données, la haute disponibilité et la reprise après sinistre, PostgreSQL offre des fonctionnalités telles que la journalisation à écriture anticipée (WAL), la réplication maître-esclave, les mises en veille actives et la récupération à un moment donné (PITR), et bien plus encore. Tous ces éléments permettent le déploiement de clusters de bases de données à plusieurs nœuds capables de stocker et de gérer de grands volumes (téraoctets) de données, ainsi que des systèmes spécialisés qui gèrent des pétaoctets.
  • Il est important de noter que PostgreSQL est également très extensible à bien des égards. Pour l’étendre, vous pouvez utiliser des fonctions et des procédures stockées, des langages procéduraux tels que PL/PGSQL, Perl, Python, des expressions de chemin SQL/JSON, des wrappers de données étrangères, etc. Vous pouvez également étendre ses fonctionnalités de base à l’aide de nombreuses extensions développées par la communauté.
  • La sécurité est également au cœur de Postgres. Pour protéger vos bases de données, il propose différentes formes d’authentification (notamment GSSAPI, SSPI, LDAP, SCRAM-SHA-256, Certificate, etc.), un système de contrôle d’accès robuste, une sécurité au niveau des colonnes et des lignes, ainsi qu’une authentification multifactorielle avec des certificats et une méthode supplémentaire. Cependant, une bonne sécurité des serveurs de base de données doit toujours commencer au niveau du réseau et de la couche serveur.

Clients et outils PostgreSQL

PostgreSQL fournit et prend en charge de nombreuses applications clientes pour l’administration de bases de données, telles que l’utilitaire de ligne de commande interactif psql et pgadmin, une interface Web basée sur PHP pour l’administration de bases de données (qui est la méthode la plus privilégiée).

Pour utiliser les bases de données PostgreSQL afin de stocker des données pour vos applications, vous pouvez connecter vos applications à l’aide de l’une des bibliothèques ou pilotes pris en charge, disponibles pour les langages de programmation les plus courants. libpq est une interface populaire du programmeur d’applications C vers PostgreSQL, c’est le moteur sous-jacent de plusieurs autres interfaces d’application PostgreSQL.

Qui utilise PostgreSQL ?

PostgreSQL est utilisé par RedHat, Debian, Apple, Sun Microsystem, Cisco et de nombreuses autres entreprises et organisations.

Consultez ces guides connexes pour configurer votre application avec la base de données PostgreSQL sous Linux.

  • Comment installer PostgreSQL dans RHEL 8
  • Comment installer PostgreSQL et pgAdmin dans CentOS 8
  • Comment installer la base de données PostgreSQL dans Debian 10
  • Comment installer pgAdmin 4 Debian 10
  • Comment installer et utiliser PostgreSQL sur Ubuntu 18.04
  • Comment installer PostgreSQL avec PhpPgAdmin sur OpenSUSE

Articles connexes: