PostgreSQL
PostgreSQL est une puissante base de données relationnelle-objet libre, reconnue pour sa fiabilité, sa conformité aux standards et son extensibilité. Elle prend en charge les types de données avancés, la recherche plein texte, JSON et un vaste éventail d’extensions.
PostgreSQL est publié sous forme d’une image par version majeure prise en charge. Choisissez 16, 17 ou 18 au moment du déploiement.
Logiciels inclus
Section intitulée « Logiciels inclus »| Composant | Version |
|---|---|
| PostgreSQL | 16.x, 17.x ou 18.x (selon le modèle) |
| Ubuntu | 24.04 LTS |
Variables d’environnement
Section intitulée « Variables d’environnement »Vous pouvez définir ces valeurs lors du déploiement de PostgreSQL depuis la marketplace. Laissez un champ vide pour générer automatiquement une valeur aléatoire sécurisée.
| Variable | Description |
|---|---|
POSTGRES_PASSWORD | Mot de passe du superutilisateur postgres |
POSTGRES_DB | Nom de la base de données applicative à créer |
POSTGRES_USER | Nom d’utilisateur de la base de données applicative |
Bien démarrer
Section intitulée « Bien démarrer »1. Connectez-vous à votre VM
Section intitulée « 1. Connectez-vous à votre VM »ssh ubuntu@<your-vm-ip>2. Attendez la configuration au premier démarrage
Section intitulée « 2. Attendez la configuration au premier démarrage »Au premier démarrage, un script de configuration s’exécute automatiquement. Il génère un mot de
passe aléatoire pour le superutilisateur postgres et l’enregistre dans
/etc/postgresql/postgres-password.txt. Cela prend moins de 30 secondes.
Suivez la progression:
journalctl -u postgresql-first-boot.service -f3. Récupérez les identifiants
Section intitulée « 3. Récupérez les identifiants »sudo cat /etc/postgresql/postgres-password.txtCe fichier contient le mot de passe du superutilisateur postgres. Il est lisible uniquement par
root.
4. Connectez-vous à PostgreSQL
Section intitulée « 4. Connectez-vous à PostgreSQL »PG_PASS=$(sudo cat /etc/postgresql/postgres-password.txt)psql -U postgres -h 127.0.0.1 -p 5432 -WEntrez le mot de passe du fichier d’identifiants lorsqu’il est demandé.
Pour éviter l’invite de mot de passe, définissez la variable d’environnement PGPASSWORD:
PGPASSWORD="$PG_PASS" psql -U postgres -h 127.0.0.1Gérer PostgreSQL
Section intitulée « Gérer PostgreSQL »# Vérifier l'état du servicesystemctl status postgresql
# Redémarrersudo systemctl restart postgresql
# Consulter les journauxsudo journalctl -u postgresql -fRépertoire de configuration: /etc/postgresql/<version-majeure>/main/
Fichiers importants:
postgresql.conf: paramètres du serveurpg_hba.conf: règles d’authentification des clients
Pour autoriser les connexions distantes, définissez listen_addresses = '*' dans postgresql.conf
et ajoutez une entrée dans pg_hba.conf. Redémarrez PostgreSQL et ouvrez le pare-feu seulement pour
des adresses IP précises (voir Sécurité).
Sécurité
Section intitulée « Sécurité »Le port 5432 n’est pas ouvert vers l’extérieur par défaut. UFW est activé et n’autorise que SSH (port 22).
Pour autoriser l’accès depuis une adresse IP précise:
sudo ufw allow from <trusted-ip> to any port 5432Pour vous connecter sans ouvrir le pare-feu (recommandé), utilisez un tunnel SSH:
# Exécutez ceci sur votre poste localssh -L 5432:localhost:5432 ubuntu@<your-vm-ip>
# Connectez-vous ensuite localementpsql -U postgres -h 127.0.0.1