Postgres est une base de données relationnelle open-source. Il possède de nombreuses fonctionnalités avancées telles que les performances de classe entreprise, les déclencheurs, l'atomicité, la cohérence, l'isolation, la durabilité et de nombreuses autres fonctionnalités qui feront de Postgres un bon choix pour de nombreuses applications complexes.
Installation de PostgreSQL :
Dans ce didacticiel, nous téléchargeons la dernière version de Postgres à partir du site Web officiel de PostgreSQL https://www.postgresql.org/download/linux/ubuntu/
PostgreSQL est également disponible par défaut dans le référentiel d'Ubuntu. En utilisant PostgreSQL apt repository depuis son site officiel, nous pouvons installer une version spécifique de notre choix.
Pour utiliser le référentiel apt, suivez ces étapes :
Choisissez votre version d'Ubuntu
Ma version d'Ubuntu est Bionic (18.04)
Créez le référentiel PostgreSQL de fichiers.
nano /etc/apt/sources.list.d/pgdg.list
et ajouter une ligne pour le dépôt dans pgdg.list
deb http://apt.postgresql.org/pub/repos/apt/ bionic-pgdg main
Si vous utilisez une version d'Ubuntu différente de la 18.04 (Bionic), remplacez le mot "bionic" par le nom de la version d'Ubuntu utilisée. Importez la clé de signature du référentiel et mettez à jour les listes de packages
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update
Installez 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 serveur PostgreSQL démarrera automatiquement.
Vérifier l'état du service PostgreSQL
systemctl status postgresql
Vérifiez maintenant la connexion PostgreSQL et la version du serveur PostgreSQL.
sudo -u postgres psql -c "SELECT version();"
Cela se connectera à PostgreSQL à l'aide de psql et donnera 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
Utilisation des rôles PostgreSQL et des méthodes d'authentification
PostgreSQL utilise le concept du rôle d'autorisation d'accès à la base de données. Un rôle peut être appliqué à un utilisateur de base de données ou à un groupe d'utilisateurs de base de données.
PostgreSQL prend en charge plusieurs méthodes d'authentification.
Voici les méthodes d'authentification les plus couramment utilisées de PostgreSQL.
1.Confiance
Les méthodes d'authentification de confiance peuvent être définies dans pg_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.Identifier
Les méthodes d'authentification de l'identité ne fonctionnent que sur les connexions TCP/IP.
4. Pair
Méthodes d'authentification des pairs utilisées uniquement pour la connexion locale.
Le fichier pg_hba.conf définit les méthodes d'authentification du client. nous pouvons changer les méthodes d'authentification en modifiant 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 changer les méthodes d'authentification en changeant d'égal à égal avec d'autres méthodes.
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, de même que l'utilisateur root dans le serveur de base de données MYSQL. cet utilisateur 'postgres' crée également dans ubuntu.
Se connecter à PostgreSQL
La commande suivante pour se connecter à PostgreSQL.
sudo -i -u postgres
Nous pouvons maintenant nous connecter à une invite Postgres comme MySQL en tapant la commande suivante.
psql
Nous recevrons l'invite suivante et nous sommes prêts à exécuter des requêtes PostgreSQL dessus.
Veuillez noter 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 répertorier les rôles d'utilisateurs existants à l'aide de la commande suivante.
postgres=# \du
ou exécutez la commande suivante à partir de l'invite postgres.
SELECT rolname FROM pg_roles;
Nous pouvons supprimer n'importe quel rôle d'utilisateur existant à l'aide de la commande DROP ROLE.
postgres=# DROP ROLE sohan;
DROP ROLE
Création d'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 les utilisateurs normaux d'ubuntu.
sudo -u postgres createdb dummu
Se connecter à l'invite postgres en utilisant le nouveau rôle
exécuter directement depuis votre terminal système pour créer un nouvel utilisateur.
sudo adduser sohan
Après avoir créé un nouvel utilisateur dans le système, exécutez simplement
sudo -u sohan psql
ou tapez la commande suivante
sudo -i -u sohan
psql
Nous pouvons nous connecter à une base de données différente en fournissant simplement un nom de base de données comme
psql -d dummu
Après la connexion à la base de données ci-dessus, nous pouvons obtenir ces informations de 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éer des tables dans PostgreSQL
Après avoir créé des rôles, une base de données et créé 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 factice, tout comme MySQL, nous pouvons vérifier cette nouvelle table en tapant
\d
Ici, nous verrons également la table dummu_user_id_seq, qui gardera une trace du numéro suivant dans la séquence.
Si nous voulons simplement afficher le nom de la table sans la séquence, exécutez 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
Ajout de données dans le tableau
Maintenant, nous allons 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 les données de la table dummu,
SELECT * FROM dummu;
Supprimer la colonne du tableau
Supprimons maintenant les données de cette table
DELETE FROM dummu WHERE email = '[email protected]';
Modifier la table PostgreSQL
De la même manière, nous pouvons modifier la table en utilisant alter query as
ALTER TABLE dummu DROP email;
Cela supprimera le champ email de la table dummu.
vérifiez-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
Mettre à jour les données d'un tableau
Nous allons maintenant voir comment mettre à jour des données dans un tableau
exécutez la commande suivante pour mettre à jour le mot de passe dans la table dummu
UPDATE dummu SET password = 'postgres' where username = 'sohan';
vérifier les modifications 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 bref, dans ce didacticiel, nous apprenons à installer PostgreSQL, à créer un rôle, une base de données et une commande de base de données de base.