Geekflare est soutenu par notre public. Nous pouvons gagner des commissions d'affiliation en achetant des liens sur ce site.
Partager sur:

Comment installer PostgreSQL sur Ubuntu, CentOS et Windows ?

Scanner de sécurité des applications Web Invicti – la seule solution qui offre une vérification automatique des vulnérabilités avec Proof-Based Scanning™.

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 POSTGRE à 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é.

port d'installation postgresql

  • 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) opens up where you can interact with your <a href="https://geekflare.com/postgresql-monitoring-tools/">PostgreSQL instance after specifying the connection details</a>. All of the items can be selected as the default by simply pressing <code>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 'P@SsW0rdH3r3'"

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 'N3wP@33w0rD';
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.

Merci à nos commanditaires
Plus de bonnes lectures sur la base de données
Alimentez votre entreprise
Certains des outils et services pour aider votre entreprise à se développer.
  • Invicti utilise Proof-Based Scanning™ pour vérifier automatiquement les vulnérabilités identifiées et générer des résultats exploitables en quelques heures seulement.
    Essayez Invicti
  • Web scraping, proxy résidentiel, proxy manager, web unlocker, moteur de recherche et tout ce dont vous avez besoin pour collecter des données Web.
    Essayez Brightdata
  • Semrush est une solution de marketing numérique tout-en-un avec plus de 50 outils de référencement, de médias sociaux et de marketing de contenu.
    Essayez Semrush
  • Intruder est un scanner de vulnérabilités en ligne qui détecte les failles de cybersécurité de votre infrastructure, afin d'éviter des violations de données coûteuses.
    Essayez Intruder