Comment installer et utiliser PostgreSQL sur Ubuntu 18.04
PostgreSQL (Postgres en abrégé) est un système de base de données de documents relationnels open source, puissant, avancé, performant et stable. Il utilise et enrichit le langage SQL couplé à un grand nombre de fonctionnalités pour le stockage et la gestion sécurisée des données.
Il est efficace, fiable et évolutif pour gérer des volumes de données volumineux et complexes et mettre en place des environnements d’entreprise et tolérants aux pannes, tout en garantissant une intégrité élevée des données. Postgres est également très extensible avec des fonctionnalités telles que des index, des API afin que vous puissiez développer vos propres solutions pour résoudre vos problèmes de stockage de données.
Dans cet article, nous allons expliquer comment installer PostgreSQL sur un serveur Ubuntu 18.04 (fonctionne également sur les anciennes versions d’Ubuntu) et apprendre quelques façons de base de l’utiliser.
Comment installer PostgreSQL sur Ubuntu
Tout d’abord, créez un fichier /etc/apt/sources.list.d/pgdg.list qui stocke la configuration du dépôt, puis importez la clé du dépôt sur votre système, mettez à jour la liste de vos paquets système et installez le paquet Postgres à l’aide des commandes suivantes.
$ sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
sudo apt install wget ca-certificates
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt update
sudo apt install postgresql-10 pgadmin4
Une fois postgres installé, le service de base de données démarre automatiquement et vous pouvez confirmer en tapant la commande suivante.
$ sudo systemctl status postgresql.service
Comment utiliser les rôles et les bases de données PostgreSQL
Dans postgres, l’authentification du client est contrôlée par le fichier de configuration /etc/postgresql/10/main/pg_hba.conf. La méthode d’authentification par défaut est « peer » pour l’administrateur de la base de données, ce qui signifie qu’elle récupère le nom d’utilisateur du système d’exploitation du client à partir du système d’exploitation et vérifie s’il correspond au nom d’utilisateur de la base de données demandé pour autoriser l’accès, pour les connexions locales (comme le montre la capture d’écran suivante).
Au cours du processus d’installation, un compte d’utilisateur système appelé postgres a été créé sans mot de passe, c’est également le nom d’utilisateur par défaut de l’administrateur de base de données.
$ sudo vim /etc/postgresql/10/main/pg_hba.conf
De plus, sous postgres database access la gestion des permissions s’effectue via des rôles. Un rôle peut être considéré comme un utilisateur de base de données ou un groupe d’utilisateurs de base de données, selon la façon dont le rôle est configuré.
Le rôle par défaut est également postgres. Il est important de noter que les rôles de base de données sont conceptuellement totalement déconnectés des utilisateurs du système d’exploitation, mais en pratique, ils ne sont pas nécessairement séparés (par exemple lorsqu’il s’agit de l’authentification du client).
Il est important de noter que les rôles peuvent posséder des objets de base de données et attribuer des privilèges sur ces objets à d’autres rôles pour contrôler qui a accès à quels objets. De plus, il est possible d’accorder l’appartenance à un rôle à un autre rôle.
Pour configurer d’autres rôles afin qu’ils utilisent des mots de passe chiffrés pour gérer les bases de données qui leur sont attribuées, en plus du rôle postgres par défaut, vous devez remplacer la ligne par .
Then restart the postgresql service to apply the recent changes.
$ sudo systemctl restart postgresql
Comment utiliser PostgreSQL sur Ubuntu
Une fois que tout est configuré, vous pouvez accéder au compte système postgres avec la commande suivante, où l’indicateur -i indique à sudo d’exécuter le shell spécifié par l’entrée de la base de données de mots de passe de l’utilisateur cible en tant que shell de connexion.
$ sudo -i -u postgres
psql #to launch the postgres shell program
postgres=#
Pour accéder directement au shell postgres, sans accéder au préalable au compte utilisateur postgres, exécutez la commande suivante.
$ sudo -i -u postgres psql
Vous pouvez quitter/quitter le postgres en tapant la commande suivante.
postgres=# \q
Création de rôles de base de données PostgreSQL
Créez un nouveau rôle d’utilisateur à l’aide de la commande suivante.
postgres=# CREATE ROLE tecmint;
Pour créer un rôle avec un attribut LOGIN, utilisez la commande suivante (les rôles avec l’attribut LOGIN peuvent être considérés comme identiques à ceux d’une base de données utilisateurs).
postgres=#CREATE ROLE tecmint LOGIN;
OR
postgres=#CREATE USER name; #assumes login function by default
Un rôle peut également être créé avec un mot de passe, ce qui est utile si vous avez configuré la méthode d’authentification du client pour demander aux utilisateurs de fournir un mot de passe chiffré lors de la connexion à la base de données.
postgres=#CREATE ROLE tecmint PASSWORD 'passwd_here'
Liste des rôles de base de données PostgreSQL existants
Pour répertorier les rôles d’utilisateur existants, utilisez l’une de ces commandes.
postgres=# \du #shows actual users
OR
postgres=# SELECT rolname FROM pg_roles;
Suppression d’un rôle de base de données PostgreSQL
Pour supprimer un rôle d’utilisateur existant, utilisez la commande DROP ROLE comme indiqué.
postgres=# DROP ROLE tecmint;
Création d’une base de données PostgreSQL
Une fois que vous avez créé un rôle avec un nom particulier (par exemple tecmint user), vous pouvez créer une base de données (avec le même nom que le rôle) qui sera gérée par ce rôle comme indiqué.
postgres=# CREATE DATABASE tecmint;
Maintenant, pour gérer la base de données tecmint, accédez au shell postgres en tant que rôle tecmint, fournissez votre mot de passe comme suit.
$ sudo -i -u tecmint psql
Création d’une table PostgreSQL
La création de tables est si facile que nous allons créer une table de test appelée authors, qui stocke des informations sur TecMint.com auteurs, comme indiqué.
tecmint=>CREATE TABLE authors (
code char(5) NOT NULL,
name varchar(40) NOT NULL,
city varchar(40) NOT NULL
joined_on date NOT NULL,
PRIMARY KEY (code)
);
Après avoir créé une table, essayez de la remplir avec des données, comme suit.
tecmint=> INSERT INTO authors VALUES(1,'Ravi Saive','Mumbai','2012-08-15');
Pour afficher les données stockées dans une table, vous pouvez exécuter une commande SELECT.
tecmint=> SELECT * FROM authors;
Liste des tables de base de données PostgreSQL
Vous pouvez répertorier toutes les tables de la base de données actuelle à l’aide de la commande suivante.
tecmint=>\dt
Supprimer/supprimer une table PostgreSQL
Pour supprimer une table dans la base de données courante, utilisez la commande DROP.
tecmint=> DROP TABLE authors;
Liste de toutes les bases de données PostgreSQL
Pour répertorier toutes les bases de données, utilisez l’une des commandes suivantes.
tecmint=>SELECT datname FROM pg_database;
OR
tecmint=>\list #shows a detailed description
OR
tecmint=>\l
Supprimer/supprimer une base de données PostgreSQL
Si vous souhaitez supprimer une base de données, utilisez la commande DROP, par exemple.
tecmint=>DROP DATABASE tecmint;
Basculement vers une autre base de données PostgreSQL
Vous pouvez également passer facilement d’une base de données à une autre à l’aide de la commande suivante.
tecmint=>\connect database_name
Pour plus d’informations, reportez-vous à la documentation PostgreSQL 10.4.
C’est tout pour l’instant ! Dans cet article, nous avons expliqué comment installer et utiliser le système de gestion de base de données PostgreSQL sur Ubuntu 18.04. Vous pouvez nous envoyer vos questions ou vos réflexions dans les commentaires.







