GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment installer le serveur PostgreSQL sur RHEL 8 / CentOS 8

PostgreSQL est un système de gestion de base de données relationnelle objet libre et open source. L'objectif de ce tutoriel est d'effectuer une installation et une configuration de base du serveur PostgreSQL sur le serveur Linux RHEL 8 / CentOS 8.

Dans ce didacticiel, vous apprendrez :

  • Comment installer le serveur de base de données PostgreSQL sur RHEL 8/CentOS 8
  • Comment démarrer et activer le serveur de base de données PostgreSQL
  • Comment accéder à la base de données PostgreSQL à partir d'un hôte local et d'un emplacement distant
  • Comment définir un mot de passe pour le postgres par défaut utilisateur
  • Comment activer PostgreSQL pour écouter sur tous les réseaux
  • Comment sécuriser la connexion à distance PostgreSQL avec l'authentification par mot de passe MD5
  • Comment ouvrir le port du pare-feu PostgreSQL
  • Comment établir une connexion à distance au serveur PostgreSQL en utilisant psql client

Initialisation et accès à la base de données PostgreSQL sur Red Hat Enterprise Linux 8

Configuration logicielle requise et conventions utilisées

Configuration logicielle requise et conventions de ligne de commande Linux
Catégorie Exigences, conventions ou version du logiciel utilisée
Système RHEL 8/CentOS 8
Logiciel PostgreSQL Server 10.5-1.el8
Autre Accès privilégié à votre système Linux en tant que root ou via le sudo commande.
Conventions # - nécessite que les commandes linux données soient exécutées avec les privilèges root soit directement en tant qu'utilisateur root, soit en utilisant sudo commande
$ – nécessite que les commandes linux données soient exécutées en tant qu'utilisateur normal non privilégié

Instructions pas à pas pour l'installation locale de PostgreSQL et l'accès à la base de données

  1. Installez le serveur PostreSQL. Exécutez le dnf ci-dessous commande pour effectuer une installation de package de serveur PostreSQL :
    # dnf install postgresql-server
    
  2. Initialiser la base de données PostgreSQL :
    # postgresql-setup --initdb --unit postgresql
     * Initializing database in '/var/lib/pgsql/data'
     * Initialized, logs are in /var/lib/pgsql/initdb_postgresql.log
    
  3. Démarrez PostgreSQL et activez-le éventuellement après le redémarrage.
    # systemctl start postgresql
    # systemctl enable postgresql
    

    À ce stade, le serveur PostreSQL devrait être opérationnel et écouter sur le port localhost 5432 . Utilisez ss commande pour confirmer que c'est le cas :

    $ ss -nlt
    State  Recv-Q  Send-Q     Local Address:Port     Peer Address:Port  
    LISTEN 0       128              0.0.0.0:111           0.0.0.0:*     
    LISTEN 0       32         192.168.122.1:53            0.0.0.0:*     
    LISTEN 0       128              0.0.0.0:22            0.0.0.0:*     
    LISTEN 0       128            127.0.0.1:5432          0.0.0.0:*     
    LISTEN 0       128                 [::]:111              [::]:*     
    LISTEN 0       128                 [::]:22               [::]:*     
    LISTEN 0       128                [::1]:5432             [::]:*
    
  4. Accéder à la base de données PostreSQL. Lorsque vous installez la base de données PostgreSQL sur votre système RHEL 8 / CentOS 8, le programme d'installation crée également automatiquement un nouvel utilisateur par défaut postgres .

    Le mot de passe par défaut pour postgres l'utilisateur n'est pas défini, il est donc vide. Pour accéder à la base de données PostgreSQL, exécutez d'abord su commande en tant qu'utilisateur root pour passer à l'utilisateur postres. Ensuite, tapez psql pour vous connecter à la base de données.

    REMARQUE
    Toute tentative d'accès à la base de données PostgreSQL en tant qu'utilisateur root entraînera psql: FATAL: role "root" does not exist message d'erreur.

    Exemple :

    # su - postgres
    $ psql
    psql (10.5)
    Type "help" for help.
    
    postgres=#
    
    REMARQUE
    Pour quitter le shell de la base de données PostreSQL, tapez \q ou appuyez sur CTRL+d combinaison de touches.

Accès distant à la base de données PostgreSQL et connexion sécurisée

  1. Définir le mot de passe pour le postgres user.Afin d'accéder à distance au serveur PostreSQL, nous allons d'abord définir un mot de passe pour le postres user :
    # su - postgres
    $ psql
    psql (10.5)
    Type "help" for help.
    
    postgres=# \password postgres
    Enter new password: 
    Enter it again: 
    postgres=# exit
    postgres-# \q
    
  2. Permettre au serveur PostgreSQL d'écouter sur tous les réseaux disponibles. Modifiez le fichier de configuration principal /var/lib/pgsql/data/postgresql.conf :
    # nano /var/lib/pgsql/data/postgresql.conf
    

    Une fois prêt, ajoutez la ligne suivante quelque part à CONNEXIONS ET AUTHENTIFICATION rubrique :

    listen_addresses = '*'
    
    AVERTISSEMENT
    La configuration ci-dessus permettra à PostreSQL d'écouter sur tous les réseaux disponibles. Il est recommandé de définir des règles plus strictes afin de n'autoriser l'accès à PostgreSQL qu'à partir du ou des réseaux sélectionnés.

    Utilisez ss commande pour confirmer que PostgreSQL écoute sur 0.0.0.0 réseau :

    $ ss -nlt
    State  Recv-Q  Send-Q     Local Address:Port     Peer Address:Port  
    LISTEN 0       128              0.0.0.0:111           0.0.0.0:*     
    LISTEN 0       32         192.168.122.1:53            0.0.0.0:*     
    LISTEN 0       128              0.0.0.0:22            0.0.0.0:*     
    LISTEN 0       128            0.0.0.0:5432          0.0.0.0:*     
    LISTEN 0       128                 [::]:111              [::]:*     
    LISTEN 0       128                 [::]:22               [::]:*     
    LISTEN 0       128                [::]:5432             [::]:*
    
  3. Activer l'authentification par mot de passe crypté MD5 :
    # echo "host all all 0.0.0.0/0  md5" >> /var/lib/pgsql/data/pg_hba.conf
    
  4. Appliquez les changements de configuration de PostgreSQL :
    # systemctl restart postgresql
    
  5. Ouvrir le port du pare-feu 5432 pour un trafic entrant PostgreSQL distant :
    # firewall-cmd --zone=public --permanent --add-service=postgresql
    # firewall-cmd --reload
    
  6. Connectez-vous au serveur de base de données PostgreSQL depuis un emplacement distant. Installez d'abord le psql Outil client PostgreSQL sur votre hôte distant :
    RHEL/CENTOS
    # dnf install postgresql
    UBUNTU/DEBIAN
    # apt install postgresql-client
    

    Créez une connexion à distance pour héberger, par exemple. 192.168.1.151 en tant que postgres utilisateur et mot de passe utilisateur tels que définis dans l' étape 1 ci-dessus :

    $ psql -h 192.168.1.151 -U postgres
    Password for user postgres: 
    psql (10.6 (Ubuntu 10.6-0ubuntu0.18.04.1), server 10.5)
    Type "help" for help.
    
    postgres=# 
    

Cent OS
  1. Comment installer PostgreSQL sur CentOS 7

  2. Comment installer PostgreSQL 10 sur CentOS 6 / RHEL 6

  3. Comment installer Puppet 6.x sur CentOS 7 / RHEL 7

  4. Comment installer PostgreSQL Server sur CentOS 8

  5. CentOS / RHEL 7 :Comment installer l'interface graphique

Comment installer le serveur Redis sur CentOS 8 / RHEL 8

Comment installer Zabbix Server 4.x sur CentOS 6 / RHEL 6

Comment installer phpPgAdmin 5.6 sur CentOS 7 / RHEL 7

Comment installer Zabbix Server 5.0 / 4.0 sur CentOS 7 / RHEL 7

Comment installer le serveur de base de données PostgreSQL CentOS 8

Comment installer PostgreSQL sur CentOS 6