How to Install and configuration PostgreSQL on Ubuntu Linux
Table des matières:
- Installation de PostgreSQL
- 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, souvent connu simplement sous le nom de Postgres, est un système de gestion de base de données relationnelle objet open source. Il possède de nombreuses fonctionnalités puissantes telles que les sauvegardes en ligne, la récupération ponctuelle, les transactions imbriquées, les requêtes SQL et JSON, le contrôle de concurrence multi-version (MVCC), la réplication asynchrone, etc.
Ce tutoriel vous guide à travers les étapes d'installation du serveur de base de données PostgreSQL sur Debian 10. Nous explorerons également les principes de base de l'administration de base de données.
Installation de PostgreSQL
Au moment de la rédaction de cet article, la dernière version de PostgreSQL disponible dans les référentiels Debian par défaut est PostgreSQL version 11.5.
Pour installer PostgreSQL sur votre serveur Debian, procédez comme suit en tant qu'utilisateur root ou utilisateur avec les privilèges sudo:
-
Commencez par mettre à jour l'index du package APT:
sudo apt updateInstallez le serveur PostgreSQL et le package contrib qui fournissent des fonctionnalités supplémentaires pour la base de données PostgreSQL:
sudo apt install postgresql postgresql-contribUne fois l'installation terminée, le service PostgreSQL démarre. Pour vérifier l'installation, utilisez l'outil
psqlpour imprimer la version du serveur:sudo -u postgres psql -c "SELECT version();"La sortie doit ressembler à ceci:
PostgreSQL 11.5 (Debian 11.5-1+deb10u1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 8.3.0-6) 8.3.0, 64-bit
psql
est un programme de terminal interactif qui vous permet d'interagir avec le serveur PostgreSQL.
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. Selon la façon dont vous configurez le rôle, il 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 fréquemment utilisées sont:
- Trust - Un rôle peut se connecter sans mot de passe, tant que les critères définis dans
pg_hba.confsont remplis.Password - Un rôle peut se connecter en fournissant un mot de passe. Les mots de passe peuvent être stockés sous formescram-sha-256md5etpassword(texte en clair) Ident - uniquement pris en charge pour 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 n'est pris en charge que sur les connexions locales.
L'authentification client PostgreSQL est définie dans le fichier de configuration nommé
pg_hba.conf
. Pour les connexions locales, PostgreSQL est configuré pour utiliser la méthode d'authentification par les pairs.
L'utilisateur «postgres» est automatiquement créé lors de l'installation de PostgreSQL. Cet utilisateur est le superutilisateur de l'instance PostgreSQL, et il est équivalent à l'utilisateur racine MySQL.
Pour vous connecter au serveur PostgreSQL en tant que «postgres», basculez vers l'utilisateur postgres et accédez à une invite PostgreSQL à l'aide de l'utilitaire
psql
:
sudo su - postgres
psql
De là, vous pouvez interagir avec le serveur PostgreSQL. Pour quitter le type de shell PostgreSQL:
\q
Vous pouvez utiliser la commande
sudo
pour accéder à l'invite PostgreSQL sans changer d'utilisateur:
sudo -u postgres psql
L'utilisateur
postgres
est généralement utilisé uniquement à partir de l'hôte local.
Création d'un rôle et d'une base de données PostgreSQL
La commande
createuser
vous permet de créer de nouveaux rôles à partir de la ligne de commande. 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é
kylo
, une base de données nommée
kylodb
et accorder des privilèges sur la base de données au rôle.
-
Créez d'abord le rôle en exécutant la commande suivante:
sudo su - postgres -c "createuser kylo"Ensuite, créez la base de données à l'aide de la commande
createdb:sudo su - postgres -c "createdb kylodb"Pour accorder des autorisations à l'utilisateur sur la base de données, connectez-vous au shell PostgreSQL:
sudo -u postgres psqlExécutez la requête suivante:
grant all privileges on database kylodb to kylo;
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
.
Ouvrez le fichier de configuration
postgresql.conf
et ajoutez
listen_addresses = '*'
dans la section
CONNECTIONS AND AUTHENTICATION
. Cela demande au serveur d'écouter sur toutes les interfaces réseau.
sudo nano /etc/postgresql/11/main/postgresql.conf
/etc/postgresql/11/main/postgresql.conf
#------------------------------------------------------------------------------ # CONNECTIONS AND AUTHENTICATION #------------------------------------------------------------------------------ # - Connection Settings - listen_addresses = '*' # what IP address(es) to listen on;
Enregistrez le fichier et redémarrez le service PostgreSQL pour que les modifications prennent effet:
sudo service postgresql restart
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 doit montrer que le serveur PostgreSQL écoute sur toutes les interfaces (0.0.0.0).
La dernière étape consiste à configurer le serveur pour accepter les connexions à distance en modifiant le fichier
pg_hba.conf
.
Voici quelques exemples montrant différents cas d'utilisation:
/etc/postgresql/11/main/pg_hba.conf
# TYPE DATABASE USER ADDRESS METHOD # The user jane will be able to access all databases from all locations using an md5 password host all jane 0.0.0.0/0 md5 # The user jane will be able to access only the janedb from all locations using an md5 password host janedb jane 0.0.0.0/0 md5 # The user jane will be able to access all databases from a trusted location (192.168.1.134) without a password host all jane 192.168.1.134 trust
Conclusion
Nous vous avons montré comment installer et configurer PostgreSQL sur Debian 10. Pour plus d'informations sur ce sujet, consultez la documentation PostgreSQL.
base de données debian 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 centos 8
Dans ce guide, nous verrons comment installer le serveur de base de données PostgreSQL sur CentOS 8. Nous explorerons également les bases de l'administration de la base de données PostgreSQL.
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.







