Recherche de site Web

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é, hautes performances et stable. Il utilise et améliore le langage SQL associé à un grand nombre de fonctionnalités pour un stockage et une gestion sécurisés des données.

Il est efficace, fiable et évolutif pour gérer des volumes de données importants et complexes et pour mettre en place des environnements d'entreprise tolérants aux pannes, tout en garantissant une intégrité élevée des données. Postgres est également hautement extensible avec des fonctionnalités telles que les index et 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 expliquerons comment installer PostgreSQL sur un serveur Ubuntu 18.04 (fonctionne également sur les anciennes versions d'Ubuntu) et apprendrons quelques méthodes de base pour 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 référentiel, puis importez la clé du référentiel sur votre système, mettez à jour la liste des packages système et installez le package Postgres. en utilisant les 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 a démarré 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 obtient 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 utilisateur système appelé postgres a été créé sans mot de passe. Il s'agit également du nom d'utilisateur de l'administrateur de base de données par défaut.

sudo vim /etc/postgresql/10/main/pg_hba.conf

De plus, sous postgres, la gestion des autorisations d'accès à la base de données est effectuée 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 manière 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 peuvent ne pas être séparés (par exemple lorsqu'il s'agit de l'authentification des clients).

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 d'utiliser des mots de passe cryptés pour gérer les bases de données qui leur sont attribuées, outre le rôle postgres par défaut, vous devez modifier la ligne en.

Then restart the postgresql service to apply the recent changes.
sudo systemctl restart postgresql

Comment utiliser PostgreSQL sur Ubuntu

Une fois tout 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 comme un 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 postgres en tapant la commande suivante.

postgres=# \q

Créer des 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 aux utilisateurs d'une base de données).

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, ceci est utile si vous avez configuré la méthode d'authentification client pour demander aux utilisateurs de fournir un mot de passe crypté lors de la connexion à la base de données.

postgres=#CREATE ROLE tecmint PASSWORD 'passwd_here'

Répertorier les 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;

Supprimer 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éer une base de données PostgreSQL

Une fois que vous avez créé un rôle avec un nom particulier (par exemple utilisateur tecmint), 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éer une table PostgreSQL

La création de tables est si simple que nous allons créer une table de test appelée auteurs, qui stocke des informations sur les auteurs TecMint.com, 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éé un tableau, essayez de le 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 lister toutes les tables de la base de données actuelle avec la commande suivante.

tecmint=>\dt

Supprimer/Supprimer une table PostgreSQL

Pour supprimer une table dans la base de données actuelle, utilisez la commande DROP.

tecmint=> DROP TABLE authors;

Répertorier 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 par exemple la commande DROP.

tecmint=>DROP DATABASE tecmint;

Passer à 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 le moment! 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 réflexions dans les commentaires.