2013-01-23 4 views
11

Pendant un certain temps, ma base de données s'exécute sur une fenêtre de commande, car je ne suis pas en mesure de l'exécuter en tant que service Windows.Enregistrez et exécutez PostgreSQL 9.0 en tant que service Windows

Depuis que j'ai la version du fichier zip téléchargé. comment puis-je enregistrer la commande pg_ctl en tant que service Windows?

Par ailleurs, im en utilisant la ligne suivante pour démarrer le serveur:

"D:/Program Files/PostgreSQL/9.0.4/bin/pg_ctl.exe" -D "D:/Program Files/PostgreSQL/9.0.4/db_data" -l logfile start 

Merci à l'avance.

Répondre

18

Utilisez le paramètre register pour le programme pg_ctl.

 
pg_ctl.exe register -N postgres -U some_windows_username -P windows_password -D "D:/Program Files/PostgreSQL/9.0.4/db_data" ... 

Les détails sont dans le manuel: http://www.postgresql.org/docs/9.0/static/app-pg-ctl.html

Vous devez vous assurer que le répertoire D:/Program Files/PostgreSQL/9.0.4/db_data dispose des droits appropriés pour les utilisateurs de Windows que vous spécifiez avec le drapeau -U. Btw: c'est une mauvaise idée de stocker des données de programme dans Program Files. Vous devez déplacer le répertoire de données quelque part en dehors de Program Files car Program Files est généralement très limité pour les utilisateurs réguliers - avec une très bonne raison.

+0

C'est exactement le plan =) –

8

il suffit d'exécuter « Invite de commandes » en tant qu'administrateur Windows et exécutez la commande suivante:

pg_ctl.exe register -N postgres -D "D:/Program Files/PostgreSQL/9.0.4/db_data" 

Vous n'avez pas besoin de spécifier un utilisateur et mot de passe, comme les réponses précédentes ont suggéré.

+0

Bonjour, bonne première réponse, peut-être que vous pourriez ajouter un caractère de nouvelle ligne supplémentaire avant 'pg_ctl.exe register -N postgres -D" D:/Program Files/PostgreSQL/9.0.4/db_data " Comme je peux le voir, vous avez essayé de le mettre en évidence en ajoutant 4 espaces avant. – Troyseph

+0

Je reçois une erreur lors de l'exécution du service ci-dessus dans l'invite de commande dans le système Windows. –

Questions connexes