Android

Comment installer postgresql sur debian 10

How to Install and configuration PostgreSQL on Ubuntu Linux

How to Install and configuration PostgreSQL on Ubuntu Linux

Table des matières:

Anonim

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:

  1. Commencez par mettre à jour l'index du package APT:

    sudo apt update

    Installez 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-contrib

    Une fois l'installation terminée, le service PostgreSQL démarre. Pour vérifier l'installation, utilisez l'outil psql pour 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.conf sont remplis.Password - Un rôle peut se connecter en fournissant un mot de passe. Les mots de passe peuvent être stockés sous forme scram-sha-256 md5 et password (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.

  1. 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 psql

    Exé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 postgresql