PostgreSQL

PostgreSQL est un système de gestion de base de données relationnelle (SGBDR) open source avancé, réputé pour sa stabilité, sa fiabilité et sa conformité aux standards SQL.

PostgreSQL

Prérequis

MySQL image
MySQL

MySQL est un système de gestion de base...

Prochaine étape

Laravel image
Laravel

Laravel est un framework PHP open source...

À propos de PostgreSQL

PostgreSQL fonctionne selon le modèle relationnel, mais il offre également des fonctionnalités de base de données objet, permettant de gérer des types de données complexes comme les JSON, les tableaux ou les géométries spatiales. Il prend en charge les transactions ACID (Atomicité, Cohérence, Isolation, Durabilité), garantissant la fiabilité des opérations sur les données.

PostgreSQL est compatible avec la plupart des langages de programmation (PHP, Python, Node.js, Java, etc.) et peut être utilisé avec des frameworks comme Laravel, Django ou Spring.

Installation

Sur Linux (Debian/Ubuntu) :

1sudo apt update
2sudo apt install postgresql postgresql-contrib

Vérification du service PostgreSQL :

1sudo systemctl status postgresql

Connexion à PostgreSQL en tant qu’utilisateur postgres :

1sudo -i -u postgres
2psql

Création et gestion de base de données

1-- Créer une base de données
2CREATE DATABASE larafrique;
3 
4-- Créer un utilisateur
5CREATE USER aud WITH ENCRYPTED PASSWORD 'motdepasse';
6 
7-- Donner les droits sur la base
8GRANT ALL PRIVILEGES ON DATABASE larafrique TO aud;
9 
10-- Se connecter à la base
11\c larafrique
12 
13-- Créer une table
14CREATE TABLE utilisateurs (
15 id SERIAL PRIMARY KEY,
16 nom VARCHAR(50) NOT NULL,
17 email VARCHAR(100) UNIQUE NOT NULL,
18 date_inscription TIMESTAMP DEFAULT CURRENT_TIMESTAMP
19);
20 
21-- Insérer des données
22INSERT INTO utilisateurs (nom, email) VALUES ('Aud', 'aud@larafrique.com');
23 
24-- Consulter les données
25SELECT * FROM utilisateurs;
26 
27-- Mettre à jour des données
28UPDATE utilisateurs SET nom='Aud Mbag' WHERE id=1;
29 
30-- Supprimer des données
31DELETE FROM utilisateurs WHERE id=1;

Requêtes avancées

  • Filtrage avec WHERE
1SELECT * FROM utilisateurs WHERE nom='Aud';
  • Tri avec ORDER BY
1SELECT * FROM utilisateurs ORDER BY date_inscription DESC;
  • Limitation des résultats
1SELECT * FROM utilisateurs LIMIT 5;
  • Jointures entre tables
1SELECT commandes.id, utilisateurs.nom
2FROM commandes
3JOIN utilisateurs ON commandes.utilisateur_id = utilisateurs.id;
  • Utilisation de JSON
1CREATE TABLE produits (
2 id SERIAL PRIMARY KEY,
3 nom VARCHAR(50),
4 caracteristiques JSONB
5);
6 
7INSERT INTO produits (nom, caracteristiques)
8VALUES ('Ordinateur', '{"cpu":"i7","ram":"16GB"}');
9 
10SELECT caracteristiques->>'cpu' AS cpu FROM produits;

Bonnes pratiques

  • Toujours choisir les types de données adaptés pour chaque colonne.
  • Créer des index sur les colonnes fréquemment utilisées pour améliorer les performances.
  • Normaliser les tables pour éviter la duplication des données.
  • Utiliser les transactions pour garantir l’intégrité des opérations critiques.
  • Sauvegarder régulièrement la base avec pg_dump ou pg_dumpall.
  • Gérer les utilisateurs avec des permissions limitées pour la sécurité.

Outils et intégrations

  • pgAdmin : interface graphique pour administrer PostgreSQL.
  • DBeaver : outil universel de gestion de bases de données.
  • ORM comme Eloquent (Laravel) ou Sequelize (Node.js) pour interagir avec PostgreSQL via du code.

PostgreSQL est un SGBD robuste et flexible, idéal pour les applications exigeantes en termes de performance et d’intégrité des données. Sa puissance et sa conformité aux standards SQL en font un choix privilégié pour les projets professionnels et les systèmes critiques.