Comment installer PostgreSQL sur Raspberry Pi

PostgreSQL, souvent appelé Postgres, est un système de gestion de base de données relationnel-objet (SGBDRO) open source. Il est reconnu pour sa robustesse, sa fiabilité et sa scalabilité. Dans cet article, je vais vous guider à travers l’installation et la configuration initiale du serveur PostgreSQL sur votre Raspberry Pi.

PostgreSQL est disponible dans le dépôt officiel de Raspberry Pi. Il peut être installé en utilisant la commande “apt install postgresql”. Les fichiers de configuration pour PostgreSQL se trouvent dans les sous-dossiers “/etc/postgresql”.

Cet article fournira une procédure détaillée, pas à pas, pour installer PostgreSQL. Je vous montrerai également tous les moyens disponibles pour configurer votre serveur et le mettre en route.

À propos, si vous débutez sur Raspberry Pi et que vous souhaitez accélérer les choses (tout en vous amusant), n’hésitez pas à télécharger mon e-book Maitrisez Raspberry Pi en 30 jours. Il s’agit d’un défi de 30 jours dans lequel vous apprendrez une nouvelle compétence chaque jour. Vous économiserez du temps et de l’argent et pourrez enfin profiter de votre Raspberry Pi à son plein potentiel. Je vous offre d’ailleurs 10% de remise aujourd’hui si vous utilisez ce lien !

Qu’est-ce que PostgreSQL ?

PostgreSQL est un système de gestion de base de données relationnel-objet open source. C’est un ensemble de logiciels et de services qui fonctionnent sur votre ordinateur/Raspberry Pi pour gérer des bases de données. De plus, ce logiciel fournit également un accès contrôlé aux clients distants.

PostgreSQL propose des vues matérialisées et une indexation partielle pour de meilleures performances. Il est connu pour sa robustesse, sa fiabilité et sa scalabilité.

Fonctionnalités clés de PostgreSQL

Voici quelques-unes des fonctionnalités clés de PostgreSQL :

  • Support SQL avancé : PostgreSQL prend en charge de nombreuses fonctionnalités SQL, y compris des requêtes complexes, des jointures, des sous-requêtes, et des fonctions de fenêtrage.
  • Extensibilité : PostgreSQL offre un système d’extension complet qui permet aux développeurs d’améliorer ses fonctionnalités avec des types de données personnalisés et des fonctions.
  • Support JSON : PostgreSQL inclut un support pour les types de données JSON et offre des fonctionnalités pour la manipulation de documents JSON.
  • Compatibilité multiplateforme : PostgreSQL est disponible sur plusieurs plateformes, y compris Windows, Linux, macOS, et divers systèmes basés sur Unix.
  • Communauté et aide : Grâce à sa nature open source, une communauté active et dynamique contribue à son développement.

Comparaison avec d’autres SGBD

PostgreSQL n’est pas le seul SGBD (Système de Gestion de Bases de Données) disponible sur Raspberry Pi. Il existe une multitude de SGBD disponibles. Voici une brève comparaison des SGBD les plus courants :

Téléchargez mon antisèche !
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant
TypeLicenceTypes de donnéesCourbe d’apprentissage
PostgreSQLRelationnel-objet, SQLOpen-sourceStructurées
Semi-structurées
Non structurées
Difficile
MariaDB/ MySQLSQLPropriétaireStructurées
Semi-structurées
Modérée
OracleMulti-model, SQLPropriétaireStructurées
Semi-structurées
Non structurées
Difficile
MongoDBNoSQL, Orienté documentSSPLStructurées
Semi-structurées
Non structurées
Modérée
SQLiteSQLDomaine PublicStructurées
Semi-structurées
Non structurées
Plus facile
La différence clé entre les SGBD communs

Vous trouverez une comparaison plus détaillée des différents systèmes de gestion de base de données (SGBD) ici. Vous pouvez également trouver un guide pas à pas pour l’installation et la configuration de MariaDB/ MySQL ici.

Installation de PostgreSQL

Ayant compris ce qu’est PostgreSQL et comment il se compare à ses concurrents, plongeons dans une procédure pas à pas pour installer PostgreSQL sur votre Raspberry Pi.

Installation

Comme je l’ai dit précédemment dans l’introduction, PostgreSQL est disponible sur le dépôt officiel de Raspberry Pi. Pour installer PostgreSQL suivez ces étapes :

  • Il est bon de mettre à jour votre système avant d’installer un nouveau logiciel. Pour mettre à jour votre système, ouvrez un terminal et entrez les commandes suivantes :
    sudo apt update
    sudo apt full-upgrade
  • Installez PostgreSQL avec la commande :
    sudo apt install postgresql
  • Appuyez sur Y pour installer, cela peut prendre un peu de temps en fonction de votre connexion internet.

Et voilà, vous avez réussi à installer PostgreSQL sur votre Raspberry Pi. Pour confirmer que PostgreSQL a été installé et fonctionne, vous pouvez entrer la commande suivante pour vérifier son état :
sudo systemctl status postgresql

Cependant, pour utiliser le SGBD, vous devez effectuer la configuration initiale.

Si les commandes Linux ce n’est pas trop votre truc, n’hésitez pas à jeter un œil à cet article qui vous explique les commandes qu’il faut absolument connaître. Je vous donne aussi une antisèche à télécharger pour les avoir toujours sous la main !

Configuration initiale

Pour utiliser PostgreSQL, vous devez d’abord ajouter un nouveau rôle pour votre utilisateur par défaut. Pour ce faire, suivez les étapes suivantes :

  • Changer l’utilisateur postgres en utilisant cette commande :
    sudo su postgres
  • Ajouter un rôle pour votre utilisateur par défaut, i.e., pi.
    Pour ce faire, entrez la commande suivante :
    createuser pi -P --interactive
  • La session interactive vous demandera de définir un mot de passe pour ce rôle et quelques autres questions. Vous pouvez répondre à ces questions selon vos besoins.
  • Maintenant, vous pouvez exécuter le Terminal Interactif PostgreSQL à l’aide de cette commande :
    psql
  • Alternativement, vous pouvez entrer deux fois de suite exit (une fois pour quitter le Terminal Interactif PostgreSQL et à nouveau pour quitter l’utilisateur postgres et revenir à l’utilisateur pi).
  • Maintenant, vous pouvez accéder au Terminal Interactif PostgreSQL en tant qu’utilisateur classique (pi dans mon cas) en utilisant cette commande :
    psql -d postgres -U pi -W
  • Elle vous demandera le mot de passe que vous avez défini précédemment lors de la création du rôle pour le nouvel utilisateur.

Et voilà, vous avez correctement installé PostgreSQL sur votre Raspberry Pi et configuré votre utilisateur par défaut pour accéder au Terminal Interactif.

Vous pouvez trouver une documentation détaillée sur la ligne de commande du terminal interactif PostgreSQL (psql) sur la Documentation officielle PostgreSQL. Une fois à l’intérieur du terminal interactif PostgreSQL, vous pouvez entrer des instructions SQL simples que vous connaissez peut-être.

Ayant installé PostgreSQL et accédé à son terminal interactif, je vais vous guider pour créer une base de données, y écrire des données et la lire. De plus, je partagerai quelques astuces sur la configuration avancée pour vous permettre d’accéder à vos bases de données à distance.

Création de votre première base de données dans PostgreSQL

Pour créer notre première base de données, accédez au terminal interactif PostgreSQL et exécutez des instructions SQL.

  • Accédez au terminal interactif avec cette commande :
    psql -d postgres -U pi -W
  • Créez une base de données en utilisant cette instruction SQL :
    CREATE DATABASE mydatabase;
  • Assurez-vous de terminer chaque instruction SQL par un point-virgule ‘;’.
  • Vous pouvez confirmer que la base de données a été créée et voir une liste de toutes les bases de données disponibles en entrant l’option ‘\l’ dans le Terminal Interactif.
  • Connectez-vous à ‘mydatabase’ en utilisant cette commande :
    \connect mydatabase
  • On vous demandera le mot de passe pour le rôle actuel que vous utilisez (le même que vous avez défini pour l’utilisateur pi lors de la configuration initiale).
  • Pour créer une table nommée ‘customers’ ayant deux colonnes, c’est à dire le nom et l’adresse (toutes deux de type texte), exécutez l’instruction SQL suivante :
    CREATE TABLE customers (name text, address text);
  • Pour ajouter des données à la table pour un client nommé ‘Usman’ ayant l’adresse ‘7 Jackson Ferry’, exécutez l’instruction SQL suivante :
    INSERT INTO customers VALUES ('Usman', '7 Jackson Ferry');
  • Pour lire toutes les données sauvegardées dans la table ‘customers’, entrez l’instruction SQL suivante :
    SELECT * FROM customers;

En utilisant de simples instructions SQL et quelques options de terminal interactif, nous avons réussi à créer notre première base de données, à y entrer des données et à lire les données pour vérifier leur présence. Continuez à lire pour découvrir comment effectuer une configuration avancée de PostgreSQL et y accéder depuis un terminal distant.

Téléchargez mon antisèche !
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant

Configuration supplémentaire

Pour une configuration avancée de PostgreSQL, vous devrez modifier quelques fichiers de configuration à l’aide d’un éditeur de texte approprié (par exemple, Nano). Les détails de tous les fichiers de configuration et leur emplacement sur une installation typique sont disponibles dans la documentation officielle.

Gestion de l’accès des utilisateurs à distance

Pour accéder à votre SGBD à distance, nous devons modifier le fichier pg_hba.conf pour gérer l’authentification des clients et le fichier postgresql.conf pour permettre à PostgreSQL d’écouter les connexions à distance.

Par la suite, nous pourrons connecter un autre ordinateur sur lequel PostgreSQL est installé pour accéder à notre Terminal Interactif à distance :

Commençons par éditer pg_hba.conf :

  • Ouvrez le fichier pg_hba.conf dans un éditeur de texte (nano) en utilisant cette commande :
    sudo nano /etc/postgresql/13/main/pg_hba.conf
  • Cela devrait ouvrir le fichier dans un éditeur de texte (assurez-vous d’exécuter la commande en tant que sudo, sinon vous ne pourrez pas sauvegarder le fichier après l’avoir modifié).
  • Pour donner accès à tous les utilisateurs pour toutes les bases de données, modifiez le fichier et entrez la ligne comme indiqué dans l’image ci-dessous.
  • Vous trouverez plus de détails sur la façon de modifier pg_hba.conf et toutes les options disponibles pour configurer l’authentification du client dans la documentation officielle.
  • Tapez Ctrl + X puis appuyez sur Y et Entrée pour quitter l’éditeur de texte (nano).

Nous pouvons ensuite éditer le deuxième fichier (postgresql.conf) :

  • Ensuite, nous ouvrons le fichier postgresql.conf en utilisant cette commande :
    sudo nano /etc/postgresql/13/main/postgresql.conf
  • Cela devrait ouvrir le fichier de configuration dans l’éditeur de texte.
  • Descendez pour trouver la section Connections And Authentication.
  • Annulez la première ligne en supprimant le ‘#’ devant et modifiez-la comme montré dans l’image suivante.
  • Les détails sur l’édition de postgres.conf et toutes les options concernant les paramètres de configuration du serveur se trouvent dans la documentation officielle.
  • Entrez Ctrl + X puis appuyez sur Y et Entrez pour sortir de l’éditeur de texte (nano).

La dernière étape consiste à appliquer les modifications à notre serveur :

  • Pour s’assurer que les paramètres prennent effet, nous devons redémarrer le service PostgreSQL en utilisant cette commande :
    sudo systemctl restart posrgresql

Félicitations, vous avez correctement configuré PostgreSQL pour accepter les connexions à distance et accéder aux bases de données sauvegardées sur votre Raspberry Pi.

Se connecter à votre base de données à distance

Pour vous connecter à votre base de données à distance, vous devez vous assurer que vous disposez d’un autre système qui peut accéder à votre Raspberry Pi par le réseau et possède PostgreSQL installé dessus.

  • Tout d’abord, vous devez vérifier que le serveur (Raspberry Pi) et le client (système basé sur Ubuntu dans notre cas) sont sur le même réseau. Vous pouvez vérifier l’adresse IPv4 de votre Raspberry Pi en utilisant cette commande :
    ip a
  • Vérifiez la connectivité entre votre serveur (Raspberry Pi) et votre client (système basé sur Ubuntu dans mon cas) en effectuant un ping sur l’adresse IPv4 du serveur depuis votre client à l’aide de cette commande :
    ping <insérez l’adresse IP du Raspberry Pi ici>
  • Connectez-vous à votre serveur en exécutant la commande suivante à partir de votre client :
    psql -h <IP serveur> -p <Port PSQL> -d <Nom de la base de données> -U <Rôle/Nom d’utilisateur> -W
  • Par exemple, nous devrons exécuter la commande suivante :
    psql -h 168.254.56.110 -p 5432 -d mydatabase -U pi -W
  • On vous demandera d’entrer le mot de passe de votre utilisateur / rôle (défini lors de la configuration initiale de votre rôle).
  • Pour lire toutes les données enregistrées dans la table ‘customers’, entrez l’instruction SQL suivante :
    SELECT * FROM customers;

En suivant les étapes ci-dessus, nous avons réussi à accéder au Terminal Interactif PostgreSQL depuis une station distante (système basé sur Ubuntu) et à parcourir notre base de données.

Outil PhpPgAdmin pour gérer les bases de données PostgreSQL

Si vous êtes mal à l’aise avec le Terminal Interactif et la CLI, vous pouvez utiliser l’outil PhpPgAdmin. PhpPgAdmin est une interface graphique à travers laquelle vous pouvez gérer vos bases de données PostgreSQL.

PhpPgAdmin est disponible dans les dépôts Raspberry Pi et peut être installé en utilisant cette commande :
sudo apt install phppgadmin

Maintenant, vous pouvez exécuter l’outil en entrant l’URL “http://localhost/phppgadmin” dans votre navigateur :

Pour en savoir plus sur l’utilisation de PhpPgAdmin, vous pouvez consulter leur page GitHub officielle.

Téléchargez mon antisèche !
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant

Vous voulez discuter avec d'autres passionnés de Raspberry Pi ? Rejoignez la communauté, partagez vos projets en cours et posez vos questions sur le forum (en anglais).

Conclusion

En suivant ce tutoriel, nous avons réussi à installer PostgreSQL sur notre Raspberry Pi, créé notre première base de données et appris à y accéder localement et depuis des terminaux distants.

Pour en savoir plus sur PostgreSQL, consultez la documentation officielle de PostgreSQL.

Téléchargez mon antisèche !
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant

Ressources supplémentaires pour votre Raspberry Pi

Initiation au Raspberry Pi en vidéo
Si vous débutez et voulez passer rapidement à la vitesse supérieure, j’ai exactement ce qu’il vous faut.
Regardez ma formation vidéo qui vous aidera à démarrer du bon bien, choisir votre matériel, installer les meilleures applications et vous lancer directement dans vos premiers projets avec mon aide.
Regarder les vidéos dès maintenant

Maîtrisez votre Raspberry Pi en 30 jours
Vous avez besoin de plus ? Si vous êtes à la recherche des meilleures astuces pour devenir expert sur Raspberry Pi, ce livre est fait pour vous. Développez vos compétences sous Linux et pratiquez via de nombreux projets en suivant mes guides étape par étape. 10% de remise aujourd’hui !
Télécharger le livre au format PDF ici

Maîtrisez Python sur Raspberry Pi
Pas besoin d’être un génie pour coder quelques lignes pour votre Raspberry Pi.
Je vous apprends juste ce qu’il faut sur Python afin de réaliser n’importe quel projet. La seconde partie du livre est d’ailleurs consacrée à des exemples de projets où je vous guide pas à pas.
Ne perdez pas de temps, apprenez le strict nécessaire et économisez 10% avec ce lien :
Télécharger maintenant

Autres ressources pour profiter de votre Raspberry Pi
J’ai regroupé toutes mes recommandations de logiciels, sites utiles et de matériel sur cette page de ressources. Je vous invite à la consulter régulièrement pour faire les bons choix et rester à jour.
Visiter les pages ressources


Ce tutoriel ne marche plus à 100%? Prévenez-moi pour que je le mette à jour!

Publications similaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *