Changer le port PostgreSQL en utilisant la ligne de commande

Mon port par défaut PostgreSQL est 5432, je souhaite changer le port par défaut en utilisant la ligne de commande (sous Windows 7).

Jai déjà vu cette solution: https://stackoverflow.com/questions/187438/want-to-change-pgsql-port

Jai essayé dexécuter ce qui suit commande, mais elle a échoué:

 postgres --p 5431  

Quelquun pourrait-il me dire comment changer de port vous utilisez la ligne de commande?

Réponse

Puisque vous « êtes sous Windows et que vous démarrez probablement PostgreSQL en tant que service Windows, vous » Vous devrez éditer postgresql.conf (dans votre répertoire de données) pour y définir le nouveau port, puis redémarrer le service postgresql en utilisant le panneau de configuration des services ou (en tant quadministrateur) le net service.

Vous pouvez utiliser un outil dédition de texte par programmation pour modifier postgresql.conf si vous avez besoin dautomatiser cela. Sur une machine Linux / unix, vous « utiliseriez un outil comme sed ou awk, mais sous Windows, jimagine que vous utiliserez VBS , PowerShell ou un outil complémentaire comme Perl.

Vous devrez modifier les paramètres de connexion dans des outils tels que PgAdmin-III pour utiliser le nouveau port.

Si vous démarriez PostgreSQL manuellement en utilisant pg_ctl, vous pouvez définir la variable denvironnement PGPORT ou passer une option de configuration sur le ligne de commande. Cela ne fonctionnera pas lorsque vous le relancerez en tant que service Windows.

Commentaires

  • I ' m en utilisant " Swiss File Knife " pour effectuer un remplacement dans des fichiers texte sous Windows.
  • @a_horse_with_no_name Outil utile lorsque vous navez ' pas fileutils / coreutils / etc; merci pour le conseil.
  • Donc je peux ' Vous nutilisez pas la ligne de commande pour changer le port pgsql sous Windows?
  • @NickHung Oui, vous pouvez, comme expliqué ci-dessus – utiliser un processeur de texte pour modifier le fichier de configuration, ou ne pas ' exécuter PostgreSQL en tant que service Windows et le démarrer à la place avec pg_ctl.

Réponse

  • aller à .. \ PostgreSQL \ 9.0 \ data et ouvrez le fichier postgresql.conf dans léditeur de texte / bloc-notes
  • recherchez le paramètre de port .eg: port = 5433
  • modifiez-le avec votre numéro de port.
  • allez pour exécuter le type services.msc et redémarrez le service postgresql.

vous pouvez vérifier si le paramètre est défini ou non via loutil de requête. exécutez simplement la requête show port. il affichera votre numéro de port actuel. Si vous utilisez pgAdmin pour vous connecter à db, assurez-vous davoir changé votre numéro de port dans les paramètres de connexion.

Réponse

Une solution qui fonctionne ne nécessite aucun remplacement de texte ou des techniques similaires consiste à configurer le port différent dans un fichier de configuration séparé, puis à ajouter une directive include au fichier postgresql.conf.

Par exemple

 echo port = 5431 > \path\to\datadir\custom.conf echo include custom.conf>> \path\to\datadir\postgresql.conf  

(Bien sûr \path\to\datadir\ doit être remplacé par le chemin correct)

La première commande echo crée un nouveau fichier avec juste la configuration du port. Le second ajoute une directive include au fichier de configuration postgres existant. Comme les paramètres « plus récents » remplacent les paramètres « précédents » du fichier, toute configuration de port effectuée dans postgresql.conf sera remplacée par celle du fichier de configuration personnalisé.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *