Files
wiki/Catalogue-Self-Hosted/apps/app-pgadmin.md
T
2026-06-09 18:40:21 +02:00

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

  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

Pages Liées