Aller au contenu
En direct Crédit de 100 $ à l'inscription, jusqu'à 300 $ au total L'offre se termine le 31 décembre 2026 Commencer →

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.

ComposantVersion
PostgreSQL16.x, 17.x ou 18.x (selon le modèle)
Ubuntu24.04 LTS

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.

VariableDescription
POSTGRES_PASSWORDMot de passe du superutilisateur postgres
POSTGRES_DBNom de la base de données applicative à créer
POSTGRES_USERNom d’utilisateur de la base de données applicative
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 -f
sudo cat /etc/postgresql/postgres-password.txt

Ce fichier contient le mot de passe du superutilisateur postgres. Il est lisible uniquement par root.

PG_PASS=$(sudo cat /etc/postgresql/postgres-password.txt)
psql -U postgres -h 127.0.0.1 -p 5432 -W

Entrez 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.1
# Vérifier l'état du service
systemctl status postgresql
# Redémarrer
sudo systemctl restart postgresql
# Consulter les journaux
sudo journalctl -u postgresql -f

Répertoire de configuration: /etc/postgresql/<version-majeure>/main/

Fichiers importants:

  • postgresql.conf: paramètres du serveur
  • pg_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é).

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 5432

Pour vous connecter sans ouvrir le pare-feu (recommandé), utilisez un tunnel SSH:

# Exécutez ceci sur votre poste local
ssh -L 5432:localhost:5432 ubuntu@<your-vm-ip>
# Connectez-vous ensuite localement
psql -U postgres -h 127.0.0.1