Manager, Developer Education
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.
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.
Pour installer PostgreSQL, rafraîchissez d’abord l’index local des paquets de votre serveur :
Puis, installez le package Postgres ainsi qu’un package -contrib
qui ajoute quelques utilitaires et fonctionnalités supplémentaires :
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 :
Ensuite, vous pouvez accéder à l’invite Postgres en tapant :
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 :
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
.
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 :
Si vous êtes connecté en tant que compte postgres, vous pouvez créer un nouveau rôle en tapant :
Si, au contraire, vous préférez utiliser sudo
pour chaque commande sans quitter votre compte normal, tapez :
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.
OutputEnter name of role to add: sammy
Shall the new role be a superuser? (y/n) y
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 :
Si, au contraire, vous préférez utiliser sudo
pour chaque commande sans quitter votre compte normal, vous devez taper :
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) :
Une fois ce nouveau compte disponible, vous pouvez basculer sur ce dernier et vous connecter à la base de données en tapant :
Ou alors, vous pouvez le faire en ligne :
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 :
Une fois connecté, vous pouvez vérifier vos informations de connexion actuelles en tapant :
OutputYou are connected to database "sammy" as user "sammy" via socket in "/var/run/postgresql" at port "5432".
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.
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