• Assurez la sécurité des applications de la bonne manière! Détectez, protégez, surveillez, accélérez et plus encore…
  • PostgreSQL est l'un des systèmes de bases de données relationnelles objet open source populaires, multiplateformes, robustes, performants et fiables avec une forte communauté.

    Elle date de 1986 dans le cadre de la POSTGRES à l'Université de Californie à Berkeley, et réalise 30 ans de développement actif sur sa plate-forme principale. Ses performances constantes au fil des ans ont prouvé son intégrité, son architecture et son extensibilité pour une utilisation en entreprise. Il est conforme à ACID et prend en charge des modules complémentaires puissants tels que l'extension de base de données géospatiale PostGIS.

    Nous allons couvrir l'installation de PostgreSQL sur les plates-formes courantes dans cet article.

    Alors, commençons.

    Ubuntu

    PostgreSQL est disponible pour toutes les saveurs et versions d'Ubuntu. Vous avez le choix d'installer et d'utiliser la version disponible par défaut avec votre version d'Ubuntu et prise en charge pendant sa durée de vie ou d'utiliser une version spécifique en ajoutant le référentiel PostgreSQL et en l'installant. Nous allons couvrir les deux options ici.

    Pour utiliser la version prise en charge par défaut fournie par le référentiel d'Ubuntu, exécutez :

    $ sudo apt-get update
    $ sudo apt-get -y install postgresql

    PostgreSQL Apt Repository prend en charge les versions LTS actuelles d'Ubuntu, c'est-à-dire 20.04, 18.04 et 16.04. Bien qu'il ne soit pas entièrement pris en charge, les mêmes packages fonctionnent également sur les versions non LTS en utilisant la version LTS la plus proche.

    Utiliser Dépôt d'apt PostgreSQL, Suivez ces étapes:

    $ sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
    $ wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
    $ sudo apt-get update
    $ sudo apt-get -y install postgresql

    Pour installer une version spécifique à partir du référentiel PostgreSQL, au lieu de simplement postgresql qui fait référence à la dernière version, spécifiez-le comme postgresql-12:

    $ sudo apt-get -y install postgresql-12

    Le référentiel contient également différents packages, y compris des modules complémentaires tiers. Par exemple, les packages couramment disponibles pour la version 12 de PostgreSQL incluent :

    postgresql-client-12 bibliothèques clientes et binaires client
    postgresql-12 serveur de base de données principal
    postgresql-contrib-9.x modules supplémentaires fournis (partie du package postgresql-xx dans les versions 10 et ultérieures)
    libpq-dev bibliothèques et en-têtes pour le développement frontal en langage C
    postgresql-server-dev-12 bibliothèques et en-têtes pour le développement backend en langage C
    pgadmin4 Utilitaire d'administration graphique pgAdmin 4

    Une fois l'installation terminée, vous pouvez vérifier l'état du service DB en utilisant la commande ci-dessous :

    $ sudo systemctl status postgresql.service

    Pour Ubuntu, après l'installation, le service doit être activé et exécuté comme :

    $ sudo systemctl status postgresql.service
    ● postgresql.service - PostgreSQL RDBMS
         Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
         Active: active (exited) since Sun 2021-06-06 16:06:45 UTC; 46s ago
       Main PID: 3364 (code=exited, status=0/SUCCESS)
          Tasks: 0 (limit: 1113)
         Memory: 0B
         CGroup: /system.slice/postgresql.service
    
    Jun 06 16:06:45 ubuntu20cloud systemd[1]: Starting PostgreSQL RDBMS...
    Jun 06 16:06:45 ubuntu20cloud systemd[1]: Finished PostgreSQL RDBMS.
    $

    CentOS

    Comme Ubuntu, les référentiels RHEL/CentOS contiennent également une version spécifique de PostgreSQL, qui est prise en charge pendant toute la durée de vie du système d'exploitation. Vous pouvez installer le même en utilisant:

    $ sudo yum install -y postgresql-server

    ou vous pouvez utiliser DNF si vous utilisez CentOS 8.

    $ sudo dnf install -y postgresql-server

    Exécutez les commandes ci-dessous après l'installation pour initialiser la base de données, activer le service PostgreSQL et le démarrer :

    $ sudo postgresql-setup initdb
    $ sudo systemctl enable postgresql.service
    $ sudo systemctl start postgresql.service

    Ou pour utiliser les packages directement depuis Dépôts yum PostgreSQL, nous devons ajouter le référentiel en tant que :

    $ sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

    Et puis pour installer une version spécifique de PostgreSQL comme la version 13, qui est la dernière version stable au moment de la rédaction de cet article, utilisez :

    $ sudo yum install -y postgresql13-server

    yum repository contient également des packages supplémentaires pour PostgreSQL, dont certains des plus importants sont répertoriés ci-dessous :

    client-postgresql bibliothèques et binaires clients
    serveur-postgresql serveur de base de données principal
    postgresql-contrib modules supplémentaires fournis
    postgresql-devel bibliothèques et en-têtes pour le développement du langage C

    Exécutez les étapes ci-dessous après l'installation pour initialiser la base de données, activer le service PostgreSQL et le démarrer :

    $ sudo /usr/pgsql-13/bin/postgresql-13-setup initdb
    $ sudo systemctl enable postgresql-13
    $ sudo systemctl start postgresql-13

    Vous pouvez vérifier l'état du service DB en utilisant la commande ci-dessous :

    $ sudo systemctl status postgresql.service
    ● postgresql.service - PostgreSQL database server
       Loaded: loaded (/usr/lib/systemd/system/postgresql.service; enabled; vendor preset: disabled)
       Active: active (running) since Sun 2021-06-06 16:39:35 GMT; 1min 12s ago
      Process: 7011 ExecStart=/usr/bin/pg_ctl start -D ${PGDATA} -s -o -p ${PGPORT} -w -t 300 (code=exited, status=0/SUCCESS)
      Process: 7005 ExecStartPre=/usr/bin/postgresql-check-db-dir ${PGDATA} (code=exited, status=0/SUCCESS)
       CGroup: /system.slice/postgresql.service
               ├─7014 /usr/bin/postgres -D /var/lib/pgsql/data -p 5432
               ├─7015 postgres: logger process
               ├─7017 postgres: checkpointer process
               ├─7018 postgres: writer process
               ├─7019 postgres: wal writer process
               ├─7020 postgres: autovacuum launcher process
               └─7021 postgres: stats collector process
    
    Jun 06 16:39:34 centos7cloud systemd[1]: Starting PostgreSQL database server...
    Jun 06 16:39:35 centos7cloud systemd[1]: Started PostgreSQL database server.
    $

    Windows

    Les programmes d'installation Windows 32 bits et 64 bits sont disponibles sur le site officiel de PostgreSQL ici.

    • Vous pouvez télécharger le binaire applicable en fonction de la version et de l'architecture requises.

    postgresql-téléchargement

    • Nous allons télécharger la dernière version disponible, qui est la v13.3 pour la plate-forme Windows 64 bits. Une fois le téléchargement terminé, lancez le programme d'installation en double-cliquant dessus.

    postgresql-install-lancement

    • Cliquez sur Suivant pour continuer.

    emplacement-d'installation-postgresql

    • Cliquez sur Suivant pour continuer avec le chemin par défaut ou spécifiez votre chemin d'installation personnalisé.

    • Vous pouvez conserver les composants par défaut sélectionnés et cliquer sur Suivant pour continuer.

    postgresql-install-datadir

    • Ensuite, il demande l'emplacement du répertoire de données ; cela peut être conservé par défaut à moins que vous n'ayez un disque ou un répertoire dédié séparé qui lui soit attribué. Cliquez sur Suivant pour continuer.

    mot de passe-installation-postgresql

    • Spécifiez un mot de passe fort qui sera attribué à postgres utilisateur. Cliquez sur Suivant lorsque vous avez terminé.

    postgresql-install-port

    • Port par défaut 5432 devrait être bon pour la plupart des cas. Cliquez sur Suivant pour passer à la page suivante.

    postgresql-install-locale

    • Sélectionnez les paramètres régionaux de la base de données et cliquez sur Suivant pour continuer.

    postgresql-install-confirmation

    • Tous les paramètres sélectionnés pour l'assistant d'installation seront répertoriés pour que vous puissiez les vérifier et les confirmer. Si quelque chose doit être modifié, revenez en arrière et modifiez-le ou cliquez sur Suivant pour passer à la page suivante.

    postgresql-install-confirmation-1

    • Le programme d'installation montrera qu'il est prêt à procéder à l'installation. Lorsque vous êtes prêt, cliquez sur Suivant pour démarrer l'installation.

    postgresql-install-progress

    • Attendez la fin de l'installation. Une confirmation sera affichée pour le même.

    postgresql-installation-terminée

    • Une fois terminé, vous pouvez décocher Stack Builder et cliquez sur Terminer pour quitter l'assistant d'installation. Cliquez sur le menu Démarrer et recherchez SQL Shell (psql) et cliquez sur son icône pour ouvrir le psql coquille.

    psql-start-menu

    • SQL Shell (psql) s'ouvre où vous pouvez interagir avec votre instance PostgreSQL après avoir spécifié les détails de la connexion. Tous les éléments peuvent être sélectionnés par défaut en appuyant simplement sur Enter à l'exception du mot de passe, où vous devez saisir le mot de passe spécifié pour postgres utilisateur pendant l'assistant d'installation. Cela vous amènera dans postgres=# rapide.

    psql-sql-shell-windows

    Se connecter à PostgreSQL

    A postgres l'utilisateur est créé automatiquement après l'installation, ce qui a superadmin accès à l'instance de base de données. Sous Linux, en tant qu'utilisateur privilégié, vous pouvez basculer vers ce compte en tant que :

    $ sudo su - postgres

    Une fois dedans, nous pouvons réinitialiser postgres mot de passe utilisateur comme :

    $ psql -c "alter user postgres with password '[email protected]'"

    Et puis lancez l'invite PostgreSQL avec psqlcomme:

    $ psql

    Cela vous amènera dans l'invite PostgreSQL :

    $ psql
    psql (12.7 (Ubuntu 12.7-0ubuntu0.20.04.1))
    Type "help" for help.
    
    postgres=#

    À cette invite, vous pouvez interagir avec la base de données et effectuer des tâches d'administration ou d'utilisateur de la base de données. En guise de démonstration, les étapes ci-dessous créent une base de données et un utilisateur, puis attribuent des privilèges au nouvel utilisateur pour travailler sur la nouvelle base de données :

    postgres=# CREATE DATABASE geekflaredb;
    CREATE DATABASE
    postgres=# CREATE USER geekuser WITH ENCRYPTED PASSWORD '[email protected]';
    CREATE ROLE
    postgres=# GRANT ALL PRIVILEGES ON DATABASE geekflaredb to geekuser;
    GRANT
    postgres=#

    On peut alors lister les DB en utilisant \l commander:

    postgres=# \l
                                   List of databases
        Name     |  Owner   | Encoding | Collate |  Ctype  |   Access privileges
    -------------+----------+----------+---------+---------+-----------------------
     geekflaredb | postgres | UTF8     | C.UTF-8 | C.UTF-8 | =Tc/postgres         +
                 |          |          |         |         | postgres=CTc/postgres+
                 |          |          |         |         | geekuser=CTc/postgres
     postgres    | postgres | UTF8     | C.UTF-8 | C.UTF-8 |
     template0   | postgres | UTF8     | C.UTF-8 | C.UTF-8 | =c/postgres          +
                 |          |          |         |         | postgres=CTc/postgres
     template1   | postgres | UTF8     | C.UTF-8 | C.UTF-8 | =c/postgres          +
                 |          |          |         |         | postgres=CTc/postgres
    (4 rows)
    
    postgres=#

    Maintenant, vous pouvez simplement vous connecter à une base de données en utilisant :

    postgres=# \c geekflaredb
    You are now connected to database "geekflaredb" as user "postgres".
    geekflaredb=#

    Résumé

    PostgreSQL est l'un des bases de données dans le monde de l'entreprise en raison de sa robustesse, de ses fonctionnalités et de son évolutivité. Il est facile à apprendre et essaie d'être compatible avec les normes SQL.

    Il y a un tutoriel disponible pour PostgreSQL sur son site officiel.