diff options
Diffstat (limited to 'POSTGRES_DIAG.md')
| -rw-r--r-- | POSTGRES_DIAG.md | 81 |
1 files changed, 81 insertions, 0 deletions
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
+ ```
|
