Introduction
pgAdmin est un projet open source conçu pour gérer PostgreSQL bases de données. PostgreSQL est l'un des systèmes de gestion de base de données les plus populaires au monde.
L'outil est facile à utiliser pour les débutants et les professionnels travaillant avec PostgreSQL. Il utilise une base de données relationnelle objet et fournit une interface Web et une version de bureau pour une interaction facile avec les objets de la base de données.
Préparation à l'installation
Pour un bon fonctionnement entre pgAdmin 4 et PostgreSQL, il faut préparer à l'avance :
- Déployé Ubuntu Serveur 22.04. Un utilisateur avec un accès à la commande sudo. Utilitaire de configuration de l'ufw firewall. Nous vous invitons à utiliser notre instruction;
- Installé et configuré Nginx as Proxy inverse http://unix:/tmp/pgadmin4.sock;
- Produits PostgreSQL, vous devez ajouter un nouvel utilisateur, ainsi que base de données à connecter pgAdmin à notre base de données ;
- Environnement virtuel déployé dans Python;
Étape 1 – Déploiement de pgAdmin et téléchargement des dépendances
En mettant d'abord à jour les index des packages, utilisons l'utilitaire apt intégré.
sudo apt update
Téléchargez les dépendances de libgmp3-dev, une bibliothèque arithmétique de haute précision ; libpq-dev, une bibliothèque qui vous permet de travailler avec PostgreSQL arrière-plan.
sudo apt install libgmp3-dev libpq-dev
Créez plusieurs répertoires dans le but de stocker des informations sur les sessions connectées, le stockage et les fichiers journaux :
sudo mkdir -p /var/lib/pgadmin4/sessions
sudo mkdir /var/lib/pgadmin4/storage
sudo mkdir /var/log/pgadmin4
Créer un utilisateur serverspace:
useradd -m serverspace
Puis une nouvelle phrase de passe pour l'utilisateur serverspace Doit être réglé:
passwd serverspace
Ajoutez-le au sudo groupe:
usermod -aG sudo serverspace
Ensuite, changez les propriétaires du répertoire de root à serverspace, certains utilitaires n'autorisent pas l'accès pour exécuter des services en tant que root :
sudo chown -R serverspace:serverspace /var/lib/pgadmin4
sudo chown -R serverspace:serverspace /var/log/pgadmin4
Allez ensuite dans le dossier créé sous le nom "test". Dans ces instructions, les noms des répertoires sont donnés de la même manière que dans les instructions. Accédez au répertoire de test créé précédemment et exécutez l'environnement test_env :
cd test/
source test_env/bin/activate
En exécutant l'environnement virtuel test_env, mettez à jour le package pip pour installer la bibliothèque requise. Dans le cas d'un pip non mis à jour, nous pouvons rencontrer quelques difficultés lors de l'installation de pgAdmin.
Pour mettre à jour le pip, procédez comme suit :
python3 -m pip install -U pip
Utilisez un navigateur Web pour télécharger la dernière version d'un fichier avec une extension .whl. Quelle est l'extension de package standard pour le Python distribution. Copiez le lien de l'utilitaire et saisissez dans la ligne de commande :
wget https://ftp.postgresql.org/pub/pgadmin/pgadmin4/v6.10/pip/pgadmin4-6.10-py3-none-any.whl
À l'aide de pip, configurez le package téléchargé :
python -m pip install wheel
Mettre en place:
python -m pip install pgadmin4-6.10-py3-none-any.whl
Télécharger Gunicorn en Python WSGI, qui communiquera avec Nginx:
python -m pip install gunicorn
La première étape a été franchie avec succès. Modifiez le fichier de configuration, puis vous pourrez vous connecter à la base de données.
Étape 2 – Configuration de pgAdmin 4
Vous devez sauvegarder le fichier config.py, qui se trouve dans le dossier du package pgAdmin installé. Dans cet exemple, le chemin d'accès au fichier :
/test/test_env/lib/python3.10/site-packages/pgadmin4/
cd /test/test_env/lib/python3.10/site-packages/pgadmin4/
Modification du fichier maître - peut entraîner une perte de données :
cp config.py config.py.orig
Le fichier config.py ne doit être modifié que si nécessaire pour éviter d'endommager les données et les performances de pgAdmin 4.
Apportez des modifications au fichier config_local.py.
Important! Le dossier doit se trouver à l'adresse : /site-packages/pgadmin4/
Vous pouvez utiliser l'utilitaire touch pour créer un fichier, ou vous pouvez créer et ouvrir un fichier avec vim ou nano. Nous utiliserons nano :
nano /test_env/lib/python3.10/site-packages/pgadmin4/config_local.py
Après ouverture, nous ferons les modifications :
LOG_FILE = '/var/log/pgadmin4/pgadmin4.log'
SQLITE_PATH = '/var/lib/pgadmin4/pgadmin4.db'
SESSION_DB_PATH = '/var/lib/pgadmin4/sessions'
STORAGE_DIR = '/var/lib/pgadmin4/storage'
AZURE_CREDENTIAL_CACHE_DIR = '/var/lib/pgadmin4/azurecredentialcache'
SERVER_MODE = True
Ce bout de code fait :
LOG_FILE : chemin d'accès au fichier journal
SQLITE_PATH : chemin vers les données utilisateur dans la base de données SQLite. Le fichier est stocké dans le répertoire /var/lib/pgadmin4/, nos données utilisateur ne seront pas perdues après la mise à niveau.
SESSION_DB_PATH : chemin vers un répertoire contenant des informations sur les sessions connectées.
STORAGE_DIR : chemin d'accès à un répertoire contenant les informations de stockage et de certificat.
SERVER_MODE : le mode de serveur sélectionné est True.
Pour quitter et enregistrer, appuyez sur ESC, tapez :wq! et appuyez sur ENTREE.
Pour démarrer les configurations à partir de cet emplacement, démarrez pgAdmin avec un certain nombre de commandes.
Configurez une clé publique :
curl -fsS https://www.pgadmin.org/static/packages_pgadmin_org.pub | sudo gpg --dearmor -o /usr/share/keyrings/packages-pgadmin-org.gpg
Pour continuer, ajoutez un fichier de configuration. Envoyez la commande suivante au terminal :
sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/packages-pgadmin-org.gpg] https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/$(lsb_release -cs) pgadmin4 main" > /etc/apt/sources.list.d/pgadmin4.list && apt update'
Installez pgadmin4 :
sudo apt install pgadmin4
Exécutons la configuration :
sudo /usr/pgadmin4/bin/setup-web.sh
Ensuite, nous écrirons nos coordonnées (e-mail, mot de passe) pour la future connexion à l'interface Web pgAdmin :
pgAdmin est maintenant disponible sur notre réseau.
Étape 3 – Déployer Gunicorn et Nginx
Gunicorn est responsable de l'exécution de pgAdmin en tant qu'application Web. Il est actuellement possible de se connecter à pgAdmin à partir d'ordinateurs locaux. UN Nginx le serveur Web est configuré pour un accès en dehors de notre réseau.
Allez dans le répertoire racine, puis allez à l'adresse :
cd /etc/nginx/sites-available/
Apportez des modifications au fichier /test_domain.ru :
server {
listen 80; #Listening on port 80 IPv4
listen [::]:80; #In most cases, when starting nginx -t gives an error, is sent to this line, when you get an error, comment out the line
server_name test_domain.ru www.test_domain.ru; #Server name
location / { #Path
proxy_pass http://unix:/tmp/pgadmin4.sock; #reverse proxy
include proxy_params;
}
}
Lançons le Python environnement virtuel. Connectez le proxy inverse à l'aide de quelques commandes :
source /test/test_env/bin/activate
gunicorn --bind unix:/tmp/pgadmin4.sock --workers=1 --threads=25 --chdir /root/test/test_env/lib/python3.10/site-packages/pgadmin4 pgAdmin4:app
#Output
[2022-11-04 21:55:37 +0000] [6338] [INFO] Starting gunicorn 20.1.0
[2022-11-04 21:55:37 +0000] [6338] [INFO] Listening at: unix:/tmp/pgadmin4.sock (6338)
[2022-11-04 21:55:37 +0000] [6338] [INFO] Using worker: gthread
[2022-11-04 21:55:37 +0000] [6339] [INFO] Booting worker with pid: 6339
La commande doit être exécutée depuis le virtuel test_env space et il ne doit y avoir aucune erreur liée à la bibliothèque dans la sortie.
Étape 4 - Accès à pgAdmin 4
Sur la machine de notre réseau, lancez un navigateur web et dans la barre d'adresse indiquez l'adresse de l'hôte sur lequel pgAdmin est déployé http://ip_serveur/pgadmin4.
L'exemple actuel utilise l'adresse http://10.0.0.1/pgadmin4
Lors de la connexion, indiquez l'email et le mot de passe utilisés pour créer la configuration (Fin "Etape 2 - Configuration de pgAdmin 4").
Connectez-vous par cliappuyant sur le bouton Login (voir écran 1)
Si l'autorisation a réussi, vous verrez la page d'accueil de l'interface Web de pgAdmin (voir écran 2).
Modifiez maintenant le fichier de configuration utilisé pour vous connecter au PostgreSQL base de données.
Stage 5 - PostgreSQL paramétrage utilisateur
Nettoyage à sec CTRL + C arrêtera le processus, retournant ainsi à la console.
En suivant l'élément Processus de configuration du Des instructions. Passons à la configuration.
Connectez-vous au compte administrateur "intégré":
su postgres
psql postgres
Créez un utilisateur et la base de données elle-même à l'aide des commandes :
CREATE ROLE <login> LOGIN PASSWORD '<password>';
CREATE DATABASE <database> WITH OWNER = <login>;
Par exemple :
CREATE ROLE serverspace LOGIN PASSWORD 'ububntu';
CREATE DATABASE serverspacedb WITH OWNER = serverspace;
Dans le terminal de la base de données, ajoutez un mot de passe pour l'utilisateur serverpace. Lors du déploiement du SGBD, chaque utilisateur doit créer des mots de passe complexes et spécifier des privilèges utilisateur :
ALTER USER serverspace PASSWORD 'p@55w0rd';
Quittez en appuyant sur \q.
Utilisez le navigateur pour accéder à la console pgAdmin 4. Ajoutez un nouveau serveur à l'aide de l'outil Ajouter un nouveau serveur (voir Écran 3).
Entrons le nom (voir Écran 4).
Allons dans l'onglet Connexion, renseignez les champs Nom d'hôte/adresse (Host name/address) - localhost, Maintenance database (Serving database) - serverspacedb, Nom d'utilisateur (Nom d'utilisateur) - serverspace, Mot de passe (Mot de passe) - spécifié précédemment sur la ligne de commande. Après avoir rempli les champs, cliCliquez sur le bouton Enregistrer (voir écran 5).
Envisager! Les illustrations montrent le nom de la base de données : serverspace.
L'exactitude de la connexion est vérifiée dans l'onglet Navigateur. Des symboles (1) apparaîtront dans l'onglet Serveurs, indiquant qu'un nouveau serveur a été connecté. Sous forme développée, nous obtenons des informations sur la base de données (bases de données), les rôles de connexion / groupe (rôles / groupe de connexion), la tablespace (tableauspaces). La section Databases stocke deux bases de données postgres (la base de données standard installée par défaut dans PostgreSQL) et serverspacedb précédemment créée. (Voir Écran 6).
Ajout d'un serveur avec quelques clicks de la souris.
Étape 6 – Création d'un tableau à l'aide de l'interface Web.
Pour créer une table dans une base de données, vous devez :
- Sélectionnez Schémas dans le serverspacebase de données db, puis Tables ;
- Sélectionnez Créer -> Table. (voir écran 7)
La fenêtre Créer une table s'ouvrira, dans l'onglet Général. Saisissez ensuite le nom de la table dans le champ Nom. Le propriétaire et les schémas sont renseignés automatiquement. Si nécessaire, vous pouvez apporter des modifications à votre discrétion (voir écran 8).
Allons dans l'onglet Colonnes, l'ajout d'une colonne est comme suit, appuyez sur le bouton "+", spécifiez Nom, Type de données et la valeur Non NULL pour que toutes les colonnes ne soient pas vides et sélectionnez Clé primaire pour spécifier la clé primaire et click Enregistrer (voir écran 9).
La base de données configurée et notre table avec des colonnes sont apparues. Commençons à remplir la table avec SQL. Droite-click sur notre table et cliCliquez sur Scripts -> CREATE Script (voir écran 10).
Ajoutez un script pour remplir les colonnes, vous pouvez également ajouter plus d'informations séparées par des virgules (voir écran 11).
/*Adding information to a table*/
INSERT INTO public."test_table"(
/*Line names*/
test_col1,
test_col2,
test_col3)
/*Values*/
VALUES
/*Row Information*/
('Test1', 10, 'True'),
('Test2', 20, 'False'),
('Test3', 30, 'True');
Exécutez le script avec le bouton (▶) et fermez la fenêtre de l'éditeur.
Pour visualiser les modifications apportées au tableau, procédez comme suit :
- Droite-click sur la table souhaitée ;
- Sélectionnez Afficher/Modifier les données ;
- Sélectionnez ensuite Toutes les lignes. (voir écran 12)
Dans la fenêtre qui s'ouvre avec les résultats de la requête terminée, les données terminées sont stockées dans la section Sortie de données. (voir écran 13)
La méthode utilisée est considérée comme l'une de celles utilisées pour créer le tableau et le remplir.
Cependant, l'exemple suivant utilise uniquement une requête SQL :
- Appelez le menu contextuel sur l'élément Tables ;
- Sélectionnez Outil de requête. (voir écran 14).
Créez un tableau et des colonnes. Remplissez les champs créés avec le type de données, et les informations avec les valeurs "15, 'test_table2', 'True'" (voir écran 15) :
/*Create a table called test_table2*/
Create table test_table2 (
/*Table attributes*/
test_table1 int,
test_table2 text,
test_table3 boolean );
/*Script to fill the table*/
insert into test_table2 (
/*Entering data into tables and their attributes*/
test_table1,
test_table2,
test_table3 )
/*Fillable Attribute Values*/
values (15, 'test_table2', 'True');
Lors de la recherche d'une nouvelle table, nous ne trouverons pas la nouvelle table tant que nous n'aurons pas mis à jour le serverspacebase de données db.
Droite-cliCliquez sur la base de données et sélectionnez Actualiser. (voir écran 16)
Voyons maintenant les résultats de notre requête de code. Les données sont renseignées conformément à la demande écrite (voir écran 17)
Nous avons deux tables : une utilisant une interface visuelle et une utilisant SQL.
Conclusions
pgAdmin est un outil unique pour travailler avec une base de données en mode interface Web.
Comment travailler:
- Installer Ubuntu Serveur 22.04 ;
- Configurez ufw pour le port 80/tcp ;
- Installer Nginx, Python, PostgreSQL;
- Déployer l'environnement virtuel dans Python;
- Installez la bibliothèque Gunicorn ;
- Configurer un proxy inverse dans Nginx;
- Configurez Gunicorn et Nginx pour travailler ensemble;
- Exécutez le script d'installation du serveur virtuel pgAdmin ;
- Démarrez le serveur ;
- Accédez au serveur hôte local dans votre navigateur ;
- Ajouter un serveur, spécifier des données pour PostgreSQL;
- Créez le tableau, remplissez les données et modifiez-les.