6.7 KiB
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 |
| License | PostgreSQL License (permissive, BSD-like) |
| Langage | Python (backend) + JavaScript / React (frontend) |
| Étoiles GitHub | 3,6k ⭐ |
| Catégorie | cat-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é)
# 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)
# 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
- Accéder à l'UI :
http://IP:8080(ou via Traefik en HTTPS) - Se connecter avec l'email/password définis dans
PGADMIN_DEFAULT_EMAIL/PGADMIN_DEFAULT_PASSWORD - 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
- Explorer la base : naviguez dans l'arbre, ouvrez le Query Tool, écrivez votre première requête
- Sauvegarder la config serveur : clic droit sur le serveur → "Save Password" si vous voulez éviter de re-saisir le mot de passe
- 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
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