From 09a949092c59856962e4a7d132bc5a5e76fe5e55 Mon Sep 17 00:00:00 2001 From: ertopogo Date: Sun, 18 Jan 2026 20:32:59 +0100 Subject: Initial commit: Medusa Backend + storefront + config --- POSTGRES_DIAG.md | 81 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 POSTGRES_DIAG.md (limited to 'POSTGRES_DIAG.md') diff --git a/POSTGRES_DIAG.md b/POSTGRES_DIAG.md new file mode 100644 index 0000000..8a07377 --- /dev/null +++ b/POSTGRES_DIAG.md @@ -0,0 +1,81 @@ +# Aide-Mémoire Diagnostic PostgreSQL + +Ce fichier regroupe les commandes essentielles pour diagnostiquer les problèmes de connexion, de droits et de performance sur PostgreSQL. + +## 1. Connexion au serveur (Ligne de commande) + +Se connecter en tant que super-administrateur (localement) : +```bash +sudo -u postgres psql +``` + +Tester une connexion distante (depuis une autre machine) : +```bash +# -h = hôte, -U = utilisateur, -d = base de données, -W = demander le mot de passe +psql -h 192.168.99.35 -U lucien -d medusa_db -W +``` + +## 2. Commandes d'Inspection (dans psql `postgres=#`) + +### Utilisateurs et Droits +| Commande | Description | +| :--- | :--- | +| `\du` | Liste tous les utilisateurs et leurs rôles (Superuser, Create DB, etc.). | +| `\du+` | Même chose avec plus de détails (description). | +| `SELECT current_user;` | Affiche l'utilisateur avec lequel vous êtes connecté. | + +### Bases de données +| Commande | Description | +| :--- | :--- | +| `\l` | Liste toutes les bases de données et leurs propriétaires. | +| `\c ma_base` | Se connecter à la base `ma_base`. | +| `\dt` | Liste les tables de la base courante. | + +### Configuration et Fichiers +| Commande | Description | +| :--- | :--- | +| `SHOW config_file;` | Affiche le chemin du fichier `postgresql.conf`. | +| `SHOW hba_file;` | Affiche le chemin du fichier `pg_hba.conf` (règles de connexion). | +| `SHOW listen_addresses;` | Affiche les IPs écoutées (doit être `*` pour accès distant). | +| `SHOW port;` | Affiche le port (défaut 5432). | +| `SHOW password_encryption;` | Affiche l'algorithme de hachage (souvent `scram-sha-256` ou `md5`). | + +## 3. Diagnostic des Connexions Actives + +Voir qui est connecté et ce qu'ils font : +```sql +SELECT pid, usename, client_addr, state, query +FROM pg_stat_activity +WHERE state != 'idle'; +``` + +Voir les connexions bloquées : +```sql +SELECT pid, usename, query +FROM pg_stat_activity +WHERE wait_event_type = 'Lock'; +``` + +## 4. Gestion des Mots de Passe + +Si vous avez un doute sur un mot de passe ou une méthode de chiffrement (md5 vs scram), la meilleure solution est de le redéfinir : + +```sql +-- Réinitialiser le mot de passe +ALTER USER nom_utilisateur WITH PASSWORD 'nouveau_mot_de_passe'; +``` + +## 5. Problèmes Courants `pg_hba.conf` + +Si vous avez l'erreur `no pg_hba.conf entry for host...`, vérifiez le fichier `pg_hba.conf`. + +1. Ouvrir le fichier (chemin obtenu via `SHOW hba_file;`). +2. Vérifier la présence d'une ligne comme : + ```text + # TYPE DATABASE USER ADDRESS METHOD + host all all 0.0.0.0/0 scram-sha-256 + ``` +3. **IMPORTANT** : Après toute modification, recharger la config : + ```bash + sudo systemctl reload postgresql + ``` -- cgit v1.2.3