Installation d’un serveur PostgreSQL

L’installation du serveur est entièrement automatisée mais elle peut nécessiter des ajustements sur les architectures complexes (type Active Directory).

Vous devrez, au préalable, déterminer où seront installés le programme et les données. Les données doivent être locales à la machine (pas à travers le réseau).

Rendez-vous sur http://freesofts.thefreecat.org/PostgreSQL/ et téléchargez la version la plus récente de PostgreSQL Server.

Lancez l’exécutable pour démarrer l’installation et suivez les instructions à l’écran. À la fin du processus, le service PostgreSQL doit être démarré.

Déroulé du processus

L’installateur effectue les opérations suivantes lors de l’installation. Si l’une d’elles venait à échouer, les autres seraient compromises.

  • Installation du runtime Microsoft Visual C++ 2008 Redistributable Package
  • Création d’un utilisateur local postgres dont le mot de passe n’expire pas
  • Attribution de la permission « Démarrer une session en tant que service » pour l’utilisateur postgres
  • Création du cluster PostgreSQL
  • Création du dossier {data}/pg_log
  • Déclaration du service PostgreSQL
  • Attribution de permissions « contrôle total » sur les dossiers {Program} et {Data} et leurs sous-dossiers pour l’utilisateur postgres.
  • Démarrage du service PostgreSQL
  • Éventuellement création des bases de données spécifiées lors de l’installation (facultatif)

Adaptation manuelle

Dans le dossier contenant les données, se trouvent deux fichiers qui précisent les droits d’accès. Après les avoir modifiés, il est nécessaire de redémarrer le service PostgreSQL pour qu’ils soient pris en compte.

pg_hba.conf

Par défaut, PostgreSQL est configuré pour accepter les connexions sur les réseaux locaux suivants. Assurez-vous qu’ils correspondent à votre plan d’adressage :

  • 192.168.0.0/24
  • 192.168.1.0/24
  • 10.0.0.0/8

postgresql.conf

Par défaut, PostgreSQL n’écoute pas le réseau, il n’accepte que des connexions locales. Pour activer le réseau, localisez la ligne:

#listen_addresses = '*'

Et retirez le dièse (qui signifie que la ligne est commentée/désactivée).

Pensez également à autoriser au niveau de votre pare-feu les connexions entrantes à destination du port TCP 5432.

Résolution des problèmes

  • Vérifier que le service est bien démarré, comme sur l’écran ci-dessous :
_images/servicepgok.png
  • Vérifier que l’utilisateur postgres est bien créé et s’assurer que son mot de passe n’expire pas

  • Vérifier que le dossier de données (par défaut c:\PostgreSQL\data) contient autre chose que seulement pg_log. Si ce n’est pas le cas, c’est que le cluster n’a pas pu être créé. Pour le recréer manuellement, supprimer le dossier data et, depuis l’invite de commande (cmd):

    {app}\bin\initdb.exe -U postgres -A password -E utf8 --no-locale --pwfile {app}\pgpw -D {data}
    

Remplacer {app} par le chemin d’installation du programme (par défaut C:\PostgreSQL) et {data} par le dossier de données à créer (par défaut c:\PostgreSQL\data)