Tutorial

Comment installer PostgreSQL sur Ubuntu 20.04 [Démarrage rapide]

Published on May 13, 2020

Manager, Developer Education

Français
Comment installer PostgreSQL sur Ubuntu 20.04 [Démarrage rapide]

Introduction

PostgreSQL, ou Postgres, est un système de gestion de base de données relationnelle qui fournit une implémentation du langage de requête SQL. Il est conforme aux normes et dispose de nombreuses fonctionnalités avancées, comme des transactions fiables et une simultanéité sans verrou de lecture.

Ce guide explique comment installer Postgres sur un serveur Ubuntu 20.04.

Conditions préalables

Pour suivre ce tutoriel, vous aurez besoin d’un serveur Ubuntu 20.04 qui a été configuré en suivant notre guide de configuration initiale de serveur Ubuntu 20.04. Au terme de ce tutoriel préalable, votre serveur devrait avoir un utilisateur non root avec permissions sudo et un pare-feu basique.

Étape 1 - Installation de PostgreSQL

Pour installer PostgreSQL, rafraîchissez d’abord l’index local des paquets de votre serveur :

  1. sudo apt update

Puis, installez le package Postgres ainsi qu’un package -contrib qui ajoute quelques utilitaires et fonctionnalités supplémentaires :

  1. sudo apt install postgresql postgresql-contrib

Étape 2 - Utilisation des rôles et des bases de données PostgreSQL

Par défaut, Postgres utilise un concept appelé " rôles " pour gérer l’authentification et l’autorisation. Ces rôles sont, d’une certaine manière, similaires aux utilisateurs et groupes habituels de type Unix.

Une fois installé, Postgres est configuré pour utiliser l’authentification ident, ce qui signifie qu’il associe les rôles Postgres à un compte système Unix/Linux correspondant. Si un rôle existe au sein de Postgres, un nom d’utilisateur Unix/Linux portant le même nom peut se connecter à ce rôle.

La procédure d’installation a créé un compte utilisateur nommé postgres qui est associé au rôle Postgres par défaut. Il y a plusieurs façons d’utiliser ce compte pour accéder à Postgres. Un moyen est de passer au compte postgres sur votre serveur en tapant :

  1. sudo -i -u postgres

Ensuite, vous pouvez accéder à l’invite Postgres en tapant :

  1. psql

Cela vous permettra de vous connecter à l’invite PostgreSQL, et de là, vous serez libre d’interagir immédiatement avec le système de gestion de la base de données.

Pour quitter l’invite PostgreSQL, exécutez ce qui suit :

  1. \q

Cela vous ramènera à l’invite de commande postgres de Linux.

Vous pouvez également exécuter la commande que vous souhaitez avec le compte postgres directement en utilisant sudo.

  1. sudo -u postgres psql

Cela vous connectera directement dans Postgres sans passer par le shell bash intermédiaire.

Là encore, vous pouvez quitter la session Postgres interactive en tapant :

  1. \q

Étape 3 - Création d’un nouveau rôle

Si vous êtes connecté en tant que compte postgres, vous pouvez créer un nouveau rôle en tapant :

  1. createuser --interactive

Si, au contraire, vous préférez utiliser sudo pour chaque commande sans quitter votre compte normal, tapez :

  1. sudo -u postgres createuser --interactive

Dans tous les cas, le script vous proposera quelques choix et, en fonction de vos réponses, exécutera les bonnes commandes Postgres pour créer un utilisateur selon vos spécifications.

Output
Enter name of role to add: sammy Shall the new role be a superuser? (y/n) y

Étape 4 - Création d’une nouvelle base de données

Une autre hypothèse posée par défaut par le système d’authentification Postgres est que tout rôle utilisé pour se connecter disposera d’une base de données du même nom à laquelle il pourra accéder.

Cela signifie que si l’utilisateur que vous avez créé dans la dernière section est appelé sammy, ce rôle tentera de se connecter à une base de données qui est également appelée “sammy” par défaut. Vous pouvez créer la base de données appropriée avec la commande createdb.

Si vous êtes connecté en tant que compte postgres, vous devez taper quelque chose comme :

  1. createdb sammy

Si, au contraire, vous préférez utiliser sudo pour chaque commande sans quitter votre compte normal, vous devez taper :

  1. sudo -u postgres createdb sammy

Étape 5 - Ouverture d’une invite Postgres avec le nouveau rôle

Pour vous connecter avec une authentification basée sur ident, vous aurez besoin d’un utilisateur Linux portant le même nom que votre rôle et votre base de données Postgres.

Si vous n’avez pas d’utilisateur Linux correspondant disponible, vous pouvez en créer un avec la commande adduser. Vous devrez le faire à partir de votre compte non root avec privilèges sudo (c’est-à-dire sans être connecté en tant qu’utilisateur postgres) :

  1. sudo adduser sammy

Une fois ce nouveau compte disponible, vous pouvez basculer sur ce dernier et vous connecter à la base de données en tapant :

  1. sudo -i -u sammy
  2. psql

Ou alors, vous pouvez le faire en ligne :

  1. sudo -u sammy psql

Cette commande vous connectera automatiquement, en supposant que tous les composants ont été correctement configurés.

Si vous souhaitez que votre utilisateur se connecte à une autre base de données, vous pouvez le faire en spécifiant la base de données comme ceci :

  1. psql -d postgres

Une fois connecté, vous pouvez vérifier vos informations de connexion actuelles en tapant :

  1. \conninfo
Output
You are connected to database "sammy" as user "sammy" via socket in "/var/run/postgresql" at port "5432".

Conclusion

Vous avez maintenant configuré PostgreSQL sur votre serveur Ubuntu 20.04. Si vous souhaitez en savoir plus sur Postgres et sur la manière de l’utiliser, nous vous invitons à consulter les guides suivants :

Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.

Learn more about us


About the authors
Default avatar

Manager, Developer Education

Technical Writer @ DigitalOcean

Still looking for an answer?

Ask a questionSearch for more help

Was this helpful?
 
1 Comments


This textbox defaults to using Markdown to format your answer.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

Bon tutorial… mais le mot de passe du role alors ? pourquoi ne même pas le mentionner ? c’est pourtant assez utile comme concept

Try DigitalOcean for free

Click below to sign up and get $200 of credit to try our products over 60 days!

Sign up

Join the Tech Talk
Success! Thank you! Please check your email for further details.

Please complete your information!

Featured on Community

Get our biweekly newsletter

Sign up for Infrastructure as a Newsletter.

Hollie's Hub for Good

Working on improving health and education, reducing inequality, and spurring economic growth? We'd like to help.

Become a contributor

Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.

Welcome to the developer cloud

DigitalOcean makes it simple to launch in the cloud and scale up as you grow — whether you're running one virtual machine or ten thousand.

Learn more
DigitalOcean Cloud Control Panel