Android

Comment installer postgresql sur Ubuntu 18.04

How to Install and configuration PostgreSQL on Ubuntu Linux

How to Install and configuration PostgreSQL on Ubuntu Linux

Table des matières:

Anonim

PostgreSQL ou Postgres est un système de gestion de base de données relationnelle objet open source à usage général. PostgreSQL possède de nombreuses fonctionnalités avancées qui vous permettent de créer des applications Web complexes.

Dans ce didacticiel, nous allons vous montrer comment installer PostgreSQL sur Ubuntu 18.04 et explorer les principes fondamentaux de l'administration de base de données.

Conditions préalables

Avant de poursuivre ce didacticiel, assurez-vous que vous êtes connecté en tant qu'utilisateur avec les privilèges sudo.

Installer PostgreSQL sur Ubuntu

Au moment de la rédaction de cet article, la dernière version de PostgreSQL disponible dans les référentiels Ubuntu officiels est la version 10.4 de PostgreSQL.

Pour installer PostgreSQL sur votre serveur Ubuntu, suivez les étapes ci-dessous:

  1. Installation de PostgreSQL

    Actualisez l'index du package local et installez le serveur PostgreSQL avec le package contrib PostgreSQL qui fournit plusieurs fonctionnalités supplémentaires pour la base de données PostgreSQL:

    sudo apt update sudo apt install postgresql postgresql-contrib

    Vérification de l'installation de PostgreSQL

    Une fois l'installation terminée, le service PostgreSQL démarre automatiquement.

    Pour vérifier l'installation, nous essaierons de nous connecter au serveur de base de données PostgreSQL en utilisant le psql et d'imprimer la version du serveur:

    sudo -u postgres psql -c "SELECT version();"

psql est un utilitaire de ligne de commande interactif qui vous permet d'interagir avec le serveur PostgreSQL.

Rôles PostgreSQL et méthodes d'authentification

Les autorisations d'accès aux bases de données dans PostgreSQL sont gérées avec 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 plus couramment utilisés sont:

  • Trust - Avec cette méthode, le 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 la forme scram-sha-256 md5 et password (texte en clair) Ident - Cette méthode n'est prise en charge que sur les connexions TCP / IP. 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 . Par défaut pour les connexions locales, PostgreSQL est configuré pour utiliser la méthode d'authentification par les pairs.

L'utilisateur postgres est créé automatiquement lorsque vous installez PostgreSQL. Cet utilisateur est le superutilisateur de l'instance PostgreSQL et est équivalent à l'utilisateur root MySQL.

Pour vous connecter au serveur PostgreSQL en tant qu'utilisateur postgres, vous devez d'abord basculer vers l'utilisateur postgres, puis vous pouvez accéder à une invite PostgreSQL à l'aide de l'utilitaire psql :

sudo su - postgres psql

De là, vous pouvez interagir avec votre instance PostgreSQL. Pour quitter le type de shell PostgreSQL:

\q

Vous pouvez également accéder à l'invite PostgreSQL sans changer d'utilisateur à l'aide de la commande sudo :

sudo -u postgres psql

L'utilisateur postgres est généralement utilisé uniquement à partir de l'hôte local et il est recommandé de ne pas définir le mot de passe pour cet utilisateur.

Création d'un rôle et d'une base de données PostgreSQL

Vous pouvez créer de nouveaux rôles à partir de la ligne de commande à l'aide de la commande createuser . 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.

  1. Créer un nouveau rôle PostgreSQL

    La commande suivante créera un nouveau rôle nommé john:

    sudo su - postgres -c "createuser john"

    Créer une nouvelle base de données PostgreSQL

    Créez une nouvelle base de données nommée johndb à l'aide de la commande createdb :

    sudo su - postgres -c "createdb johndb"

    Accorder des privilèges

    Pour accorder des autorisations à l'utilisateur john sur la base de données que nous avons créée à l'étape précédente, connectez-vous au shell PostgreSQL:

    sudo -u postgres psql

    et exécutez 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 postgresql.conf et ajoutez listen_addresses = '*' dans la section CONNECTIONS AND AUTHENTICATION .

sudo vim /etc/postgresql/10/main/postgresql.conf /etc/postgresql/10/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 avec:

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:*

Comme vous pouvez le voir sur la sortie ci-dessus, le serveur PostgreSQL écoute 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:

/etc/postgresql/10/main/pg_hba.conf

# TYPE DATABASE USER ADDRESS METHOD # The user jane will be able to access all databases from all locations using a 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 a 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

Vous avez appris à installer et à configurer PostgreSQL sur votre serveur Ubuntu 18.04.

Vous pouvez consulter la documentation PostgreSQL 10.4 pour plus d'informations sur ce sujet.

base de données ubuntu postgresql