Configuration de PostgreSQL sur un serveur Ubuntu 18.04 * CloudSigma

Alors que le temps et la technologie continuent de progresser, Internet occupe une position centrale dans le monde moderne. C’est pourquoi la plupart des entreprises et des entreprises ont des sites Web et des applications pour représenter l’aspect en ligne de leurs marques. Que vous soyez propriétaire d’un petit ou d’un grand site Web, vous avez besoin de l’aide de certains outils pour faciliter votre travail. Parmi ceux-ci se trouve le système de gestion de base de données.

Un système de gestion de base de données relationnelle vous permet de catégoriser et d’organiser correctement les données de votre site Web. De cette façon, vous pouvez tirer des conclusions significatives d’une montagne d’informations numériques.

Qu’est-ce que PostgreSQL?

PostgreSQL est un système de gestion de base de données open source très populaire. Il est fréquemment utilisé par les créateurs de sites Web et d’applications pour une gestion plus facile. Cette plate-forme robuste implémente le langage d’interrogation SQL.

L’une des raisons de sa popularité est sa conformité aux normes. Un système de base de données conforme aux normes garantit que les gestionnaires de sites Web n’ont pas de problèmes avec les autorités judiciaires. De plus, PostgreSQL donne à ses utilisateurs l’accès à un certain nombre d’outils avancés qui leur permettent de stocker, d’organiser et d’implémenter leurs données de manière pratique. Certaines de ces fonctionnalités incluent des transactions en ligne sécurisées et un contrôle de la concurrence sans verrouillage.

Dans ce guide, nous allons discuter de la façon dont vous pouvez installer et utiliser PostgreSQL sur un serveur cloud Ubuntu 18.04 sur CloudSigma. Nous aborderons également certaines actions administratives de base que vous pouvez effectuer sur la base de données. Commençons!

Prérequis de pré-installation

Avant de passer aux étapes d’installation de PostgreSQL, vous devez prendre en charge les prérequis. Inutile de dire que vous aurez besoin d’un serveur Ubuntu 18.04 pour continuer. Vous devrez configurer au moins un de vos serveurs Ubuntu 18.04. Après avoir effectué la configuration initiale du serveur, vous devez confirmer que votre serveur dispose d’un utilisateur non root avec des autorisations sudo. Il devrait également avoir un pare-feu. Vous pouvez facilement installer votre serveur en suivant notre tutoriel sur la configuration de votre serveur Ubuntu. Lorsque cela est prêt, vous pouvez commencer à installer PostgreSQL sur votre système.

Étape 1: Installez PostgreSQL

Les serveurs Ubuntu offrent déjà PostgreSQL par défaut. Tout ce que vous devez faire est d’actualiser l’index des paquets locaux et d’utiliser le système d’emballage apt. L’actualisation est nécessaire pour la première utilisation dans une session uniquement. Pour installer le paquet Postgres, utilisez cette commande:

sudo apt updatesudo apt install postgresql postgresql-contrib

L’ajout du package -contrib garantit que vous obtenez des utilitaires et des fonctionnalités supplémentaires.

Étape 2: Rôles et bases de données PostgreSQL

Maintenant que vous avez installé PostgreSQL sur votre système, voyons comment vous pouvez utiliser le système de gestion de base de données à bon escient. Nous commencerons par nous familiariser avec le concept de « rôles » dans la base de données. Un « rôle  » dans Postgres est utilisé à des fins d’authentification et d’autorisation. Ce terme englobe à la fois les utilisateurs et les groupes. Lors de l’installation, le programme crée un nouveau compte utilisateur pour vous. Ce compte s’appelle postgres et il est lié au rôle Postgres par défaut. Vous devez vous connecter à ce compte pour utiliser Postgres.

Lors de l’installation de PostgreSQL, vous liez essentiellement vos rôles Postgres au compte système Unix ou Linux correspondant. Cela signifie que Postgres utilise la méthode d’authentification ident. Par conséquent, vous pouvez utiliser votre nom d’utilisateur Unix ou Linux pour vous connecter au système si un rôle correspondant existe dans Postgres. Voici quelques utilitaires que vous pouvez extraire de votre compte Postgres:

  • Passez à Votre Compte Postgres

Si vous souhaitez passer à votre compte postgres, vous pouvez le faire en entrant cette commande sur votre serveur:

sudo -i -u postgres

Tapez ce qui suit pour ouvrir une nouvelle invite Postgres:

psql

Vous pouvez maintenant commencer à interagir avec les différentes fonctionnalités du système PostgreSQL. Une fois que vous avez terminé, vous pouvez fermer l’invite et revenir à l’invite de commande postgres Linux en tapant ceci:

\q

 PSQ

  • Accédez à une Invite Postgres sans Changer De Compte

Il vous est possible d’ouvrir une invite Postgres sans changer de compte. Cela signifie que vous exécuterez la commande directement avec sudo. Au lieu de passer d’abord à l’utilisateur postgres, nous exécuterons directement la commande psql avec sudo:

sudo -u postgres psql

Grâce à cette commande, vous pourrez vous connecter directement à Postgres. Il n’y aura pas de shell bash intermédiaire. Vous pouvez à nouveau quitter la session avec la commande suivante:

\q

 psql sans changer d'utilisateur Configuration de PostgreSQL

Étape 3: Configurer un rôle

Jusqu’à présent, nous avons travaillé avec un seul compte postgres ou un « rôle ». Ce rôle a été configuré dans la base de données lorsque vous avez installé PostgreSQL. La plupart du temps, vous constaterez que vous avez besoin de plus d’un rôle sur Postgres. Pour répondre à ce besoin, vous pouvez créer de nouveaux rôles dans la base de données. Cela peut être fait à l’aide de la commande createrole. Voici comment configurer un nouveau rôle ou un nouvel utilisateur:

 postgres@server:~$ createuser --interactive

Assurez-vous d’être connecté à votre compte postgres avant d’exécuter la commande. L’ajout de l’indicateur –interactif signifie que vous aurez la possibilité de nommer le rôle et de déterminer ses autorisations. Vous pouvez décider si vous souhaitez ou non que cet utilisateur particulier dispose des autorisations de superutilisateur. De plus, vous pouvez effectuer cette action sans passer de votre compte. Vous pouvez utiliser sudo à cette fin comme suit:

sudo -u postgres createuser --interactive

Il vous sera ensuite demandé d’entrer le nom de rôle souhaité et de déterminer le statut du superutilisateur:

 créer un rôle Configuration de PostgreSQL

En dehors de ce qui précède, vous pouvez également créer d’autres spécifications pour les nouveaux rôles. Pour afficher les indicateurs supplémentaires, vous pouvez accéder à la page de manuel avec cette invite:

$ man createuser

Étape 4: Créez une base de données

Maintenant que vous savez comment ajouter de nouveaux rôles ou utilisateurs, vous pouvez commencer à ajouter de nouvelles bases de données. Lorsque vous créez un nouveau rôle, le système d’authentification Postgres essaie automatiquement de le connecter à une base de données avec un nom correspondant. Donc, si vous avez nommé le nouveau rôle sammy, vous pouvez créer une base de données avec le nom ‘sammy’ afin que les deux se connectent par défaut. Vous pouvez créer de nouvelles bases de données avec la commande createdb. Exécutez cette commande si vous êtes passé à votre compte postgres:

postgres@server:~$ createdb sammy

Utilisez cette commande si vous utilisez plutôt sudo:

$ sudo -u postgres createdb sammy

Étape 5: Ouvrez une nouvelle invite

Pour ouvrir une nouvelle invite avec votre nouveau rôle, vous devrez d’abord vous connecter. Comme mentionné précédemment, PostgreSQL utilise la méthode d’authentification basée sur l’ident. Par conséquent, vous aurez besoin d’un compte utilisateur Linux portant le même nom que celui que vous avez mis sur votre rôle Postgres et votre base de données. Ne vous inquiétez pas au cas où vous n’auriez pas un tel utilisateur Linux. Vous pouvez facilement en créer un à l’aide de la commande adduser:

 sudo adduser sammy

Assurez-vous de vous déconnecter de votre utilisateur postgres avant d’exécuter cette commande. Vous devez l’exécuter à partir de votre compte non root à l’aide de sudo. Maintenant que vous avez ajouté un nouvel utilisateur avec le nom de votre rôle Postgres, vous pouvez y accéder. Tapez ce qui suit pour vous connecter à la base de données:

sudo -i -u sammypsql

Vous pouvez également effectuer cette action en ligne en utilisant:

sudo -u sammy psql

En fin de compte, si tout est configuré correctement, vous pourrez vous connecter automatiquement à votre utilisateur. Dans le cas où vous avez plusieurs chemins, vous pouvez spécifier à quelle base de données vous souhaitez vous connecter avec cette commande:

psql -d postgres

Parfois, lorsque vous vous connectez à des utilisateurs ou à des bases de données non par défaut, vous voudrez peut-être vérifier les informations de connexion actuelles. Pour vérifier vos informations de connexion, tapez ce qui suit:

sammy =# \conninfo

Vous verrez quelque chose comme ceci:

 conninfo

Étape 6: Création et suppression de tables

Maintenant que les bases des utilisateurs et des bases de données sont hors de portée, nous pouvons passer à certaines tâches de gestion de base dans Postgres. L’un des plus importants est la création d’une table. Vous devez pouvoir créer une table afin de pouvoir l’utiliser pour stocker des données. Pour créer une nouvelle table, tapez:

CREATE TABLE table_name ( column_name1 col_type (field_length) column_constraints, column_name2 col_type (field_length), column_name3 col_type (field_length));

Comme vous pouvez le voir dans la syntaxe ci-dessus, vous n’avez pas seulement nommé votre table, vous avez également spécifié le nombre de colonnes, le type de colonnes et la longueur maximale des données de champ. Si vous le souhaitez, vous avez également la possibilité d’ajouter des contraintes de table pour chacune des colonnes. Nous utiliserons l’équipement de terrain de jeu comme échantillon de données à des fins d’explication. Vous pouvez remplacer ces valeurs par les vôtres lors de la création de vos tables Postgres:

CREATE TABLE playground ( equip_id serial PRIMARY KEY, type varchar (50) NOT NULL, color varchar (25) NOT NULL, location varchar(25) check (location in ('north', 'south', 'west', 'east', 'northeast', 'southeast', 'southwest', 'northwest')), install_date date);

 commande create table

Selon la commande ci-dessus, vous aurez une table composée d’équipements de terrain de jeu. La première chose dans le tableau est l’ID de l’équipement que nous avons spécifié comme étant du type série. Comme il s’agit d’un entier à incrémentation automatique, la valeur augmentera de manière constante. Nous avons appliqué la contrainte de clé primaire à cette colonne, ce qui signifie que chaque valeur doit être unique et ne peut pas être nulle. Nous n’avons spécifié aucune longueur de champ pour la colonne equip_id ou install_date. La raison pour laquelle ces colonnes n’ont pas besoin d’une longueur de champ prédéterminée est que le type de données implique déjà la longueur.

Ensuite, nous avons les colonnes du type et de la couleur de l’équipement de terrain de jeu. Aucune de ces valeurs ne peut être nulle. La commande suivante concerne une colonne d’emplacement. En raison de la contrainte appliquée, la valeur ne peut être qu’une des huit options données. La dernière commande crée une colonne de date pour que vous puissiez noter quand l’équipement a été installé sur le terrain de jeu.

Une fois que vous avez terminé de modifier votre table, vous pouvez taper ce qui suit pour l’afficher:

sammy=# \d

 liste des relations Configurant PostgreSQL

Comme vu ci-dessus, vous trouverez votre table listant l’équipement et une autre entrée appelée playground_equip_id_seq. C’est de la séquence de type au lieu de table. Cela apparaît en raison du type série que vous avez appliqué à la colonne equip_id de votre table. Le but de cette saisie automatique est de garder une trace des nombres dans la séquence. Si vous le souhaitez, vous pouvez également visualiser uniquement votre table sans la séquence. Entrez:

 liste des tableaux

Étape 7: Insertion et modification de données dans la table

Après avoir formaté la table, vous pouvez commencer à y insérer des données. En continuant l’exemple de l’étape précédente, nous pouvons ajouter des équipements tels que des toboggans et des balançoires à la table. Dans la syntaxe, vous spécifiez le tableau et la colonne que vous souhaitez modifier, puis entrez les données. Voici un exemple:

sammy=# INSERT INTO playground (type, color, location, install_date) VALUES ('slide', 'blue', 'south', '2017-04-28');INSERT INTO playground (type, color, location, install_date) VALUES ('swing', 'yellow', 'northwest', '2018-08-16');

Il y a quelques choses sur lesquelles vous devez faire très attention avec cette commande. Lors de la saisie des données, assurez-vous de mettre des guillemets autour de chaque valeur. De plus, n’oubliez pas que les noms des colonnes n’ont pas besoin d’être mis entre guillemets. Si vous souhaitez afficher les informations que vous venez d’ajouter, utilisez la commande suivante:

sammy=# SELECT * FROM playground;

 afficher tous les enregistrements de la table

N’oubliez pas que vous n’avez pas besoin d’entrer des valeurs pour la colonne equip_id car elles sont générées automatiquement à chaque nouvelle ligne. Comme vous pouvez le voir dans le tableau ci-dessus, chaque ligne reçoit un numéro correctement et automatiquement dans la colonne equip_id. Si vous souhaitez supprimer un élément au lieu d’en ajouter un, vous pouvez utiliser la commande suivante:

sammy=# DELETE FROM playground WHERE type = 'slide';

Appelez à nouveau votre table pour voir comment l’entrée a été supprimée:

sammy=# SELECT * FROM playground;

 afficher les enregistrements Configuration de PostgreSQL

Étape 8 : Modification des colonnes d’une table

Une fois que vous avez créé une table, elle n’est pas gravée dans le marbre. Vous pouvez le modifier en ajoutant et en supprimant des colonnes selon les besoins. Par exemple, si nous voulons également ajouter les dates de la dernière visite de maintenance pour chaque équipement individuel, nous pouvons le faire en tapant:

sammy=# ALTER TABLE playground ADD last_maint date;

Invoquez à nouveau votre table et vous verrez que vous y avez ajouté une nouvelle colonne. Cependant, comme vous n’avez pas encore ajouté de données, elles seront vides.

sammy=# SELECT * FROM playground;

 afficher les enregistrements avec une nouvelle colonne

De même, vous pouvez également supprimer une colonne de la table. Si la colonne est supprimée, toutes ses données seront également supprimées. Le reste du tableau, cependant, ne sera pas modifié. Pour supprimer la colonne date de la dernière visite de maintenance, utilisez cette commande:

sammy=# ALTER TABLE playground DROP last_maint;

Étape 9: Mettre à jour les données de la table

Vous savez comment ajouter de nouvelles entrées et les supprimer de la table, mais est-il possible de modifier celles existantes? Vous pouvez facilement mettre à jour les valeurs des entrées existantes. Tout d’abord, vous devez interroger l’enregistrement que vous souhaitez mettre à jour. Ensuite, vous utiliserez la commande SET pour modifier la valeur. Disons que nous voulons changer la couleur de la balançoire en rouge. Voici comment le faire:

sammy=# UPDATE playground SET color = 'red' WHERE type = 'swing';

Interrogez la table pour confirmer que la modification a été effectuée:

sammy=# SELECT * FROM playground;

 afficher les données modifiées Configuration de PostgreSQL

Conclusion

En suivant ces étapes, vous pourrez configurer PostgreSQL sur votre serveur Ubuntu 18.04. Si vous souhaitez améliorer votre expérience avec les packages et extensions de serveur, vous pouvez en trouver plusieurs sur le référentiel Apt PostgreSQL. Avec un peu plus de conseils, vous pourrez accomplir beaucoup de choses avec ce système de gestion de base de données.

Si vous souhaitez en faire plus avec PostgreSQL, vous pouvez consulter notre tutoriel expliquant comment utiliser les rôles et gérer les autorisations dans PostgreSQL.

Bonne informatique!

Write a Comment

Votre adresse e-mail ne sera pas publiée.