Tutorial

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

UbuntuPostgreSQLQuickstartDatabasesUbuntu 20.04

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 :

  • sudo apt update

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

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

  • sudo -i -u postgres

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

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

  • \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.

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

  • \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 :

  • createuser --interactive

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

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

  • createdb sammy

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

  • 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) :

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

  • sudo -i -u sammy
  • psql

Ou alors, vous pouvez le faire en ligne :

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

  • psql -d postgres

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

  • \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 :

Creative Commons License