Mein PostgreSQL-Standardport ist 5432, ich möchte den Standardport über die Befehlszeile ändern (in Windows 7). P. >
Ich habe diese Lösung bereits gesehen: https://stackoverflow.com/questions/187438/want-to-change-pgsql-port
Ich habe Folgendes ausgeführt Befehl, aber es ist fehlgeschlagen:
postgres --p 5431
Könnte mir jemand sagen, wie ich den Port ändern soll
Antwort
Da Sie unter Windows arbeiten und PostgreSQL wahrscheinlich als Windows-Dienst starten, haben Sie “ Sie müssen postgresql.conf
(in Ihrem Datenverzeichnis) bearbeiten, um den neuen Port dort festzulegen, und dann den postgresql-Dienst über das Bedienfeld „Dienste“ oder (als Administrator) die net service
.
Mit einem programmgesteuerten Textbearbeitungswerkzeug können Sie postgresql.conf
ändern, wenn Sie dies automatisieren müssen. Unter einer Linux / Unix-Box würden Sie ein Tool wie sed
oder awk
verwenden, aber unter Windows stellen Sie sich vor, Sie würden VBS verwenden , Powershell oder ein Add-On-Tool wie Perl.
Sie müssen die Verbindungseinstellungen in Tools wie PgAdmin-III
ändern, um den neuen Port zu verwenden.
Wenn Sie PostgreSQL manuell mit pg_ctl
starten, können Sie die Umgebungsvariable PGPORT
festlegen oder eine Konfigurationsoption für das übergeben Befehlszeile. Dies funktioniert nicht, wenn Sie es als Windows-Dienst starten.
Kommentare
- I ' Ich verwende " Swiss File Knife ", um das Ersetzen in Textdateien unter Windows durchzuführen.
- @a_horse_with_no_name Nützliches Tool, wenn Sie ' keine fileutils / coreutils / etc haben; danke für den Tipp.
- Also kann ich ' Verwenden Sie die Befehlszeile nicht, um den pgsql-Port in Windows zu ändern?
- @NickHung Ja, Sie können, wie oben erläutert, die Konfigurationsdatei mit einem Textprozessor ändern oder ' PostgreSQL nicht als Windows-Dienst ausführen und stattdessen mit
pg_ctl
.
Antwort
- gehe zu .. \ PostgreSQL \ 9.0 \ data und öffnen Sie die Datei postgresql.conf im Texteditor / Editor.
- Suchen Sie nach dem Portparameter .eg: port = 5433
- Bearbeiten Sie diese in Ihre Portnummer.
- Führen Sie den Typ services.msc aus und starten Sie den postgresql-Dienst neu.
Sie können über das Abfragetool überprüfen, ob der Parameter eingestellt ist oder nicht. Führen Sie einfach die Abfrage show port
aus. Es wird Ihre aktuelle Portnummer angezeigt. Wenn Sie pgAdmin verwenden, um eine Verbindung zu db herzustellen, stellen Sie sicher, dass Sie Ihre Portnummer in den Verbindungseinstellungen geändert haben.
Antwort
Eine Lösung, die dies tut Wenn kein Text ersetzt werden muss oder ähnliche Techniken erforderlich sind, müssen Sie die verschiedenen Ports in einer separaten Konfigurationsdatei konfigurieren und anschließend eine include-Direktive an die Datei postgresql.conf
anhängen.
zB
echo port = 5431 > \path\to\datadir\custom.conf echo include custom.conf>> \path\to\datadir\postgresql.conf
(Natürlich \path\to\datadir\
muss durch den richtigen Pfad ersetzt werden)
Der erste echo
Befehl erstellt einen neuen Datei mit nur der Portkonfiguration. Die zweite fügt eine Include-Direktive an die vorhandene Postgres-Konfigurationsdatei an. Da die „späteren“ Einstellungen „frühere“ Einstellungen in der Datei überschreiben, wird jede in postgresql.conf
vorgenommene Portkonfiguration mit der in der benutzerdefinierten Konfigurationsdatei überschrieben.