Comment installer, configurer et utiliser la dernière version de PostgreSQL sur Ubuntu

Postgres est une base de données relationnelle open-source. Il possède de nombreuses fonctionnalités avancées comme les performances de classe entreprise, les déclencheurs, l’atomicité, la cohérence, l’isolation, la durabilité et bien d’autres fonctionnalités qui feront de Postgres un bon choix pour de nombreuses applications complexes.

Installation de PostgreSQL :

Dans ce tutoriel, nous téléchargeons la dernière version de Postgres depuis le site officiel de PostgreSQLhttps://www.postgresql.org/download/linux/ubuntu/.

PostgreSQL est aussi disponible par défaut dans le dépôt d’Ubuntu. En utilisant le dépôt apt dePostgreSQL depuis son site officiel, nous pouvons installer une version spécifique de notre choix.

Pour utiliser le dépôt apt, suis les étapes suivantes :

Choisis ta version d’Ubuntu

Ma version d’Ubuntu est Bionic (18.04)

Crée le fichierPostgreSQLrepository.

nano /etc/apt/sources.list.d/pgdg.list 

et ajoute une ligne pour le référentiel dans pgdg.list

deb http://apt.postgresql.org/pub/repos/apt/ bionic-pgdg main

Si tu utilises une version d’Ubuntu différente de 18.04 (Bionic), remplace le mot « bionic » par le nom de la version d’Ubuntu utilisée. Importe la clé de signature du référentiel et mets à jour les listes de paquets.

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update

Installe maintenant le dernier serveur PostgreSQL dans notre système Ubuntu à l’aide des commandes suivantes.

sudo apt-get install postgresql postgresql-contrib

Après l’installation, le serveurPostgreSQL démarrera automatiquement.

Vérifie l’état du service PostgreSQL

systemctl status postgresql

Vérifie maintenant la connexion PostgreSQL et la version du serveur PostgreSQL.

sudo -u postgres psql -c "SELECT version();"

Cela permettra de se connecter àPostgreSQL en utilisant psql et de donner la version du serveur

 version 
-----------------------------------------------------------------------------------------------------------------------------------
PostgreSQL 11.4 (Ubuntu 11.4-1.pgdg18.04+1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0, 64-bit

Utiliser les rôles et les méthodes d’authentification de PostgreSQL

PostgreSQL utilise le concept de rôle pour l’autorisation d’accès aux bases de données. Un rôle peut être appliqué à un utilisateur de la base de données ou à un groupe d’utilisateurs de la base de données.

PostgreSQL prend en charge plusieurs méthodes d’authentification.

Voici les méthodes d’authentification les plus couramment utilisées par PostgreSQL.

1.Trust

Les méthodes d’authentification Trust peuvent être définies danspg_hba.conf, en utilisant cette méthode, le rôle peut se connecter à une base de données sans mot de passe.

2.Mot de passe

Un rôle peut se connecter à la base de données en prouvant le mot de passe.

3.Ident

Les méthodes d’authentification Ident fonctionnent uniquement sur les connexions TCP/IP.

4. Peer

Les méthodes d’authentification Peer sont utilisées uniquement pour les connexions locales.

Le fichier pg_hba.conf définit les méthodes d’authentification du client. nous pouvons modifier les méthodes d’authentification en éditant les fichiers suivants.

nano /etc/postgresql/11/main/pg_hba.conf

Dans ce fichier, PostgreSQL utilise la méthode d’authentification par les pairs par défaut. nous pouvons modifier les méthodes d’authentification en changeant les méthodes par les pairs par d’autres méthodes.

Configurer les méthodes d'authentification dans Postgres

Au moment de l’installation de PostgreSQL, l’utilisateur postgres sera créé par défaut,postgres est le superutilisateur de la base de données PostgreSQL, tout comme l’utilisateur root du serveur de base de données MYSQL. Cet utilisateur ‘postgres’ est également créé dans ubuntu.

Connexion à PostgreSQL

La commande suivante permet de se connecter à PostgreSQL.

sudo -i -u postgres

Nous pouvons maintenant nous connecter à une invite Postgres comme MySQL en tapant la commande suivante.

psql

Nous obtiendrons l’invite suivante et nous sommes prêts à exécuter des requêtes PostgreSQL sur celle-ci.

Sache que nous pouvons nous connecter directement au serveur de base de données en tapant simplement la commande suivante.

sudo -u postgres psql

Créer des rôles et une base de données dans PostgreSQL

Nous avons déjà le rôle postgres dans la base de données, maintenant nous créons un nouveau rôle en utilisant les commandes suivantes.

[email protected]:/home# sudo -u postgres createuser --interactive

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

Nous pouvons lister les rôles d’utilisateur existants à l’aide de la commande suivante.

postgres=# \du

ou exécuter la commande suivante à partir de l’invite postgres.

SELECT rolname FROM pg_roles;

Connecte-toi à postgres

Nous pouvons supprimer tout rôle d’utilisateur existant à l’aide de la commande DROP ROLE.

postgres=# DROP ROLE sohan;
DROP ROLE

Créer une base de données PostgreSQL

Ici, nous pouvons nous connecter en tant que compte postgres et exécuter la commande suivante.

[email protected]:~$ createdb dummu

Ou nous pouvons simplement exécuter les commandes suivantes avec des utilisateurs ubuntu normaux.

sudo -u postgres createdb dummu 

Connecte-toi à l’invite postgres en utilisant le nouveau rôle

exécute directement depuis ton terminal système pour créer un nouvel utilisateur.

sudo adduser sohan

Après avoir créé un nouvel utilisateur dans le système, il suffit d’exécuter

sudo -u sohan psql

ou tape la commande suivante

sudo -i -u sohan
psql

Connecte-toi à postgres

Nous pouvons nous connecter à une autre base de données en indiquant simplement le nom de la base de données comme

psql -d dummu

Après t’être connecté à la base de données ci-dessus, nous pouvons obtenir les informations de cette base de données par une simple commande

dummu=> \conninfo
output
You are connected to database "dummu" as user "sohan" via socket in "/var/run/postgresql" at port "5432"UPDATE dummu SET password = 'postgres' where username = 'sohan';

Création de tables dans PostgreSQL

Après avoir créé des rôles, une base de données et une connexion avec le serveur de base de données, nous allons maintenant créer une table.

CREATE TABLE dummu(user_id serial PRIMARY KEY,username VARCHAR (50) UNIQUE NOT NULL, password VARCHAR (50) NOT NULL, email VARCHAR (355) UNIQUE NOT NULL, created_on TIMESTAMP NOT NULL, last_login TIMESTAMP);

La commande ci-dessus créera une nouvelle table dummu_, tout comme MySQL, nous pouvons vérifier cette nouvelle table en tapant

\d

Créer des tables dans Postgres

Ici, nous verrons aussi la table dummu_user_id_seq, qui gardera la trace du prochain numéro dans la séquence.

Si nous voulons juste afficher le nom de la table sans la séquence, exécute la commande suivante.

\dt

Cela n’affichera que la table dummu

sohan=> \dt
Output

          List of relations
 Schema |    Na    | Type  | Owner
--------+------------+-------+-------
 public | dummu      | table | soha

Ajouter des données dans la table

Nous allons maintenant ajouter des données dans la table dummu en tapant,

Insert into dummu(user_id,username,password,email,created_on,last_login) values (1,'sohan','123456','[email protected]','2019-06-24 11:11:11','2019-06-24 11:11:11');

Nous allons maintenant récupérer des données dans la table dummu,

SELECT * FROM dummu;

Insère des données dans le tableau

Supprimer une colonne du tableau

Maintenant, nous allons supprimer les données de cette table

DELETE FROM dummu WHERE email = '[email protected]';

Supprime une colonne de la table de la base de données

Modifier la table PostgreSQL

De la même façon, nous pouvons modifier la table en utilisant la requête alter comme suit

ALTER TABLE dummu DROP email;

Cela va supprimer le champ email de la table dummu.

Vérifie-le en

SELECT * FROM dummu;
output:-

user_id | username | password |     created_on      |     last_login      
---------+----------+----------+---------------------+---------------------
       1 | sohan    | 123456   | 2019-06-24 11:11:11 | 2019-06-24 11:11:11

Mise à jour des données dans une table

Nous allons maintenant voir comment mettre à jour des données dans une table

exécute la commande suivante pour mettre à jour le mot de passe dans la table dummu

UPDATE dummu SET password = 'postgres' where username = 'sohan';

Vérifie les changements en tapant simplement

SELECT * FROM dummu;
output

user_id | username | password |     created_on      |     last_login      
---------+----------+----------+---------------------+---------------------
       1 | sohan    | postgres | 2019-06-24 11:11:11 | 2019-06-24 11:11:11

En résumé, dans ce tutoriel, nous apprenons à installer PostgreSQL, à créer un rôle et une base de données et à exécuter les commandes de base de la base de données.

Vous aimerez aussi...