Install Postgres on Centos 7
Table des matières:
- Conditions préalables
- Installation de PostgreSQL sur CentOS 8
- Rôles PostgreSQL et méthodes d'authentification
- Création d'un rôle et d'une base de données PostgreSQL
- Activer l'accès à distance au serveur PostgreSQL
- Conclusion
PostgreSQL ou Postgres est un système de gestion de base de données relationnelle objet open source à usage général avec de nombreuses fonctionnalités avancées qui vous permettent de créer des environnements tolérants aux pannes ou des applications complexes.
Dans ce guide, nous verrons comment installer le serveur de base de données PostgreSQL sur CentOS 8. Avant de choisir la version à installer, assurez-vous que vos applications la prennent en charge.
Nous explorerons également les bases de l'administration de la base de données PostgreSQL.
Conditions préalables
Pour pouvoir installer des packages, vous devez être connecté en tant qu'utilisateur root ou utilisateur avec les privilèges sudo.
Installation de PostgreSQL sur CentOS 8
Au moment de la rédaction de cet article, deux versions du serveur PostgreSQL sont disponibles pour l'installation à partir des référentiels CentOS standard: la version 9.6 et 10.0.
Pour répertorier les flux de modules PostgreSQL disponibles, tapez:
dnf module list postgresql
La sortie montre que le module postgresql est disponible avec deux flux. Chaque flux a deux profils: serveur et client. Le flux 10 avec le serveur de profil est celui par défaut:
CentOS-8 - AppStream Name Stream Profiles Summary postgresql 10 client, server PostgreSQL server and client module postgresql 9.6 client, server PostgreSQL server and client module
-
Pour installer le flux par défaut, tapez la version 10.0 du serveur PostgreSQL:
sudo dnf install @postgresql:10Pour installer le serveur PostgreSQL version 9.6, tapez:
sudo dnf install @postgresql:9.6
Vous souhaiterez peut-être également installer le package contrib qui fournit plusieurs fonctionnalités supplémentaires pour la base de données PostgreSQL:
sudo dnf install postgresql-contrib
Une fois l'installation terminée, initialisez la base de données PostgreSQL avec la commande suivante:
sudo postgresql-setup initdb
Initializing database… OK
Démarrez le service PostgreSQL et activez-le au démarrage:
sudo systemctl enable --now postgresql
Utilisez l'outil
psql
pour vérifier l'installation en vous connectant au serveur de base de données PostgreSQL et imprimez sa version:
sudo -u postgres psql -c "SELECT version();"
PostgreSQL 10.6 on x86_64-redhat-linux-gnu, compiled by gcc (GCC) 8.2.1 20180905 (Red Hat 8.2.1-3), 64-bit
Rôles PostgreSQL et méthodes d'authentification
PostgreSQL gère les autorisations d'accès à la base de données en utilisant le concept de rôles. Un rôle peut représenter un utilisateur de base de données ou un groupe d'utilisateurs de base de données.
PostgreSQL prend en charge plusieurs méthodes d'authentification. Les méthodes les plus couramment utilisées sont:
- Trust - Un rôle peut se connecter sans mot de passe, tant que les conditions définies dans
pg_hba.confsont remplies.Password - Un rôle peut se connecter en fournissant un mot de passe. Les mots de passe peuvent être stockés sous forme descram-sha-256,md5etpassword(texte clair).Ident - Pris en charge uniquement sur les connexions TCP / IP. Il fonctionne en obtenant le nom d'utilisateur du système d'exploitation du client, avec un mappage de nom d'utilisateur facultatif.Peer - Identique à Ident, mais il est pris en charge uniquement sur les connexions locales.
L'authentification client PostgreSQL est définie dans le fichier de configuration nommé
pg_hba.conf
. Par défaut, pour les connexions locales, PostgreSQL est configuré pour utiliser la méthode d'authentification par les pairs.
L'utilisateur
postgres
est automatiquement créé lorsque vous installez le serveur PostgreSQL. Cet utilisateur est le superutilisateur de l'instance PostgreSQL. Il est équivalent à l'utilisateur root MySQL.
Pour vous connecter au serveur PostgreSQL en tant qu'utilisateur
postgres
, passez d'abord à l'utilisateur, puis accédez à l'invite PostgreSQL à l'aide de l'utilitaire
psql
:
sudo su - postgres
psql
À partir de là, vous pouvez interagir avec l'instance PostgreSQL. Pour quitter le shell PostgreSQL, tapez:
\q
Vous pouvez également accéder à l'invite PostgreSQL sans changer d'utilisateur avec la commande
sudo
:
sudo -u postgres psql
En règle générale, l'utilisateur
postgres
est utilisé uniquement à partir de l'hôte local.
Création d'un rôle et d'une base de données PostgreSQL
Seuls les superutilisateurs et les rôles disposant
CREATEROLE
privilège
CREATEROLE
peuvent créer de nouveaux rôles.
Dans l'exemple suivant, nous allons créer un nouveau rôle nommé
john
, une base de données nommée
johndb
et accorder des privilèges sur la base de données.
-
Tout d'abord, connectez-vous au shell PostgreSQL:
sudo -u postgres psqlCréez un nouveau rôle PostgreSQL à l'aide de la commande suivante:
create role john;Créez une nouvelle base de données:
create database johndb;Accordez des privilèges à l'utilisateur sur la base de données en exécutant la requête suivante:
grant all privileges on database johndb to john;
Activer l'accès à distance au serveur PostgreSQL
Par défaut, le serveur PostgreSQL n'écoute que sur l'interface locale
127.0.0.1
.
Pour activer l'accès à distance à votre serveur PostgreSQL, ouvrez le fichier de configuration:
sudo nano /var/lib/pgsql/data/postgresql.conf
Faites défiler la page jusqu'à la section
CONNECTIONS AND AUTHENTICATION
et ajoutez / modifiez la ligne suivante:
#------------------------------------------------------------------------------ # CONNECTIONS AND AUTHENTICATION #------------------------------------------------------------------------------ # - Connection Settings - listen_addresses = '*' # what IP address(es) to listen on;
Enregistrez le fichier et redémarrez le service PostgreSQL avec:
sudo systemctl restart postgresql
Vérifiez les modifications avec l'utilitaire
ss
:
ss -nlt | grep 5432
LISTEN 0 128 0.0.0.0:5432 0.0.0.0:* LISTEN 0 128:5432:*
La sortie ci-dessus montre que le serveur PostgreSQL écoute sur le port par défaut sur toutes les interfaces (0.0.0.0).
La dernière étape consiste à configurer le serveur pour accepter les connexions distantes en modifiant le fichier
pg_hba.conf
.
Voici quelques exemples montrant différents cas d'utilisation:
/var/lib/pgsql/data/pg_hba.conf
# TYPE DATABASE USER ADDRESS METHOD # The user jane can access all databases from all locations using an md5 password host all jane 0.0.0.0/0 md5 # The user jane can access only the janedb database from all locations using an md5 password host janedb jane 0.0.0.0/0 md5 # The user jane can access all databases from a trusted location (192.168.1.134) without a password host all jane 192.168.1.134 trust
Conclusion
CentOS 8 propose deux versions de PostgreSQL: 9.6 et 10.0.
Pour plus d'informations sur ce sujet, visitez la documentation PostgreSQL
base de données centos postgresqlComment installer postgresql sur centos 7
PostgreSQL ou Postgres est un système de gestion de base de données relationnelle objet open source à usage général. Dans ce tutoriel, nous vous montrerons deux méthodes différentes sur la façon d'installer PostgreSQL sur votre machine CentOS 7.
Comment installer postgresql sur debian 10
Ce tutoriel vous guide à travers les étapes d'installation du serveur de base de données PostgreSQL sur Debian 10. PostgreSQL, souvent connu simplement sous le nom de Postgres, est un système de gestion de base de données relationnelle objet open source à usage général.
Comment installer postgresql sur debian 9
PostgreSQL, souvent connu simplement sous le nom de Postgres, est un système de gestion de base de données relationnelle objet open source à usage général. Dans ce tutoriel, nous allons vous montrer comment installer PostgreSQL sur Debian 9 et explorer les principes de base de l'administration de base de données.







