---
title: pgAdmin
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, database, postgresql, admin, python, javascript, beginner]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=Database, https://github.com/pgadmin-org/pgadmin4]
---

# 🗄️ pgAdmin

> **La référence pour administrer PostgreSQL** : l'équivalent de phpMyAdmin pour MySQL, mais pour Postgres. Indispensable dès qu'on touche à une base PostgreSQL.

## 📋 Informations Générales

| Champ | Valeur |
| :--- | :--- |
| **Site web** | (GitHub) |
| **GitHub** | [pgadmin-org/pgadmin4](https://github.com/pgadmin-org/pgadmin4) |
| **License** | PostgreSQL License (permissive, BSD-like) |
| **Langage** | Python (backend) + JavaScript / React (frontend) |
| **Étoiles GitHub** | 3,6k ⭐ |
| **Catégorie** | [[cat-database\|Database]] |
| **Public** | Débutants à avancés |

## 📝 Description

**pgAdmin** est la **plateforme d'administration et de développement** de référence pour PostgreSQL. C'est l'outil officiel maintenu par la communauté pgAdmin, et c'est le pendant exact de **phpMyAdmin** pour l'écosystème MySQL/MariaDB : si vous avez déjà administré une base MySQL, vous retrouverez vos marques immédiatement.

- ✅ **Connexion multi-serveurs** : gérez plusieurs instances PostgreSQL depuis une seule interface
- ✅ **Query tool** : éditeur SQL avec coloration syntaxique, auto-complétion, historique
- ✅ **Debugger PL/pgSQL** : pas-à-pas sur les fonctions et procédures stockées
- ✅ **Visualisation de schémas** : ERD (Entity Relationship Diagram) interactif
- ✅ **Gestion des utilisateurs, rôles, privilèges** : ACL complètes depuis l'UI
- ✅ **Maintenance** : VACUUM, ANALYZE, REINDEX en un clic
- ✅ **Import / Export** : CSV, JSON, SQL dump
- ✅ **Dashboard temps réel** : activité, locks, requêtes lentes
- ✅ **Thèmes clair / sombre**
- ✅ **Mode desktop** (Electron) et **mode web** (Docker, serveur)
- ✅ **Authentification** : interne, LDAP, OAuth2

**Public cible** : **tout administrateur Postgres**. Du développeur qui fait tourner un Postgres dans Docker à l'équipe d'exploitation qui gère des clusters de production. C'est l'outil **par défaut** : si vous self-host une base PostgreSQL, vous allez l'utiliser (ou son alternative DBeaver, qui est cependant une app desktop et pas une web app self-hostable aussi simplement).

## 🚀 Installation

### Docker Compose (recommandé)

```yaml
# docker-compose.yml
version: '3.8'
services:
  pgadmin:
    image: dpage/pgadmin4:latest
    container_name: pgadmin
    restart: unless-stopped
    environment:
      PGADMIN_DEFAULT_EMAIL: admin@example.com
      PGADMIN_DEFAULT_PASSWORD: change-me-now
      PGADMIN_LISTEN_PORT: 80
    volumes:
      - pgadmin-data:/var/lib/pgadmin
    ports:
      - "8080:80"  # Web UI
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.pgadmin.rule=Host(`pgadmin.example.com`)"
      - "traefik.http.routers.pgadmin.entrypoints=websecure"
      - "traefik.http.routers.pgadmin.tls.certresolver=letsencrypt"

volumes:
  pgadmin-data:
```

### Bare-metal (Ubuntu/Debian)

```bash
# Ajouter le repo officiel
curl -fsSL https://www.pgadmin.org/static/packages_pgadmin_org.pub | sudo gpg --dearmor -o /usr/share/keyrings/packages-pgadmin-org.gpg

echo "deb [signed-by=/usr/share/keyrings/packages-pgadmin-org.gpg] https://apt.pgadmin.org/pub/pgadmin4/apt/$(lsb_release -cs) pgadmin4 main" | sudo tee /etc/apt/sources.list.d/pgadmin4.list

sudo apt update
sudo apt install pgadmin4-web
sudo /usr/pgadmin4/bin/setup-web.sh
```

## ⚙️ Configuration Initiale

1. **Accéder à l'UI** : `http://IP:8080` (ou via Traefik en HTTPS)
2. **Se connecter** avec l'email/password définis dans `PGADMIN_DEFAULT_EMAIL` / `PGADMIN_DEFAULT_PASSWORD`
3. **Ajouter un serveur** : clic droit sur "Servers" → "Register" → "Server"
   - Onglet **General** : nom arbitraire
   - Onglet **Connection** : host (nom du container Postgres ou IP), port (5432), maintenance DB (`postgres`), user, password
4. **Explorer la base** : naviguez dans l'arbre, ouvrez le Query Tool, écrivez votre première requête
5. **Sauvegarder la config serveur** : clic droit sur le serveur → "Save Password" si vous voulez éviter de re-saisir le mot de passe
6. **Changer le mot de passe par défaut** : c'est critique, changez-le via le panneau d'admin ou en regénérant le hash dans la base interne

## 🔄 Alternatives

### Open Source

- [[app-cloudbeaver]] — Multi-bases (Postgres, MySQL, Mongo, etc.), plus moderne
- [[app-dbgate]] — Cross-platform, support de 20+ SGBD
- [[app-whodb]] — Léger, explorateur next-gen
- **DBeaver** — Référence desktop (pas self-hostable comme web app)
- **phpMyAdmin** — Équivalent pour MySQL/MariaDB

### Comparaison pgAdmin vs autres

| Critère | pgAdmin | CloudBeaver | DBeaver | Adminer |
| :--- | :--- | :--- | :--- | :--- |
| **Bases supportées** | Postgres only | Multi-bases | Multi-bases | Multi-bases |
| **Interface** | Web complète | Web moderne | Desktop (Java) | Web minimaliste |
| **Self-hosted web** | ✅ | ✅ | ❌ | ✅ |
| **Debugger PL/pgSQL** | ✅ | ❌ | ✅ | ❌ |
| **ERD** | ✅ | ✅ | ✅ | ❌ |
| **Poids** | Lourd | Moyen | Lourd (Java) | Ultra-léger |
| **Public** | Admins Postgres | Équipes mixtes | Devs solo | Quick admin |

**Verdict** : si vous ne gérez **que** du Postgres, pgAdmin reste **la référence** : c'est le plus complet pour ce SGBD. Pour du multi-bases, tournez-vous vers CloudBeaver ou DBeaver (desktop).

### Propriétaires (ce que pgAdmin remplace)

- **Datadog Postgres Monitoring** (payant, orienté APM)
- **pganalyze** (SaaS, plan gratuit limité)
- **Navicat for PostgreSQL** (desktop, licence payante)

## 🔐 Sécurité

- **Changez le mot de passe par défaut** immédiatement (variable d'env ne suffit pas en prod)
- **Placez pgAdmin derrière un reverse-proxy authentifié** : ne jamais exposer pgAdmin directement sur Internet sans SSO devant (cf. [[securisation-home-lab]])
- **Restreignez les IPs sources** : pgAdmin donne un accès total aux bases — protégez-le comme un panneau d'admin
- **Authentification LDAP / OAuth2** recommandée en environnement multi-utilisateurs

## 📚 Ressources

- [GitHub pgadmin-org/pgadmin4](https://github.com/pgadmin-org/pgadmin4)
- [Documentation officielle](https://www.pgadmin.org/docs/)
- [Wiki & FAQ](https://github.com/pgadmin-org/pgadmin4/wiki)

## Pages Liées

- [[cat-database]] — Catégorie Database
- [[app-traefik]] — Reverse-proxy HTTPS
- [[recettes-docker-compose]] — Templates Docker Compose
- [[securisation-home-lab]] — Sécuriser l'accès aux interfaces d'admin
- [[app-portainer]] — Gestion des containers Docker
- [[app-dockge]] — Alternative UI à Portainer
