Da Sie unter Windows arbeiten und PostgreSQL wahrscheinlich als Windows-Dienst starten, müssen Sie postgresql.conf
(in Ihrem Datenverzeichnis) bearbeiten , um den neuen Port dort festzulegen, und dann den postgresql-Dienst über die Systemsteuerung Dienste oder (als Administrator) neu starten ) den net service
Befehl.
Sie können ein programmgesteuertes Textbearbeitungswerkzeug verwenden, um Änderungen vorzunehmen, postgresql.conf
wenn Sie dies automatisieren müssen. Auf einer Linux / Unix-Box würden Sie ein Tool wie sed
oder verwenden awk
, aber unter Windows verwenden Sie vermutlich VBS, Powershell oder ein Add-On-Tool wie Perl.
Sie müssen die Verbindungseinstellungen in Tools ändern PgAdmin-III
, um den neuen Port zu verwenden.
Wenn Sie PostgreSQL manuell mit starten, können pg_ctl
Sie die PGPORT
Umgebungsvariable festlegen oder eine Konfigurationsoption in der Befehlszeile übergeben. Dies funktioniert nicht, wenn Sie es als Windows-Dienst starten.
pg_ctl
.Über das Abfragetool können Sie überprüfen, ob der Parameter eingestellt ist oder nicht. Führen Sie einfach die
show port
Abfrage 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.quelle
Eine Lösung, die keinen Textersatz oder ähnliche Techniken erfordert, besteht darin, die verschiedenen Ports in einer separaten Konfigurationsdatei zu konfigurieren und dann eine Include-Direktive an die
postgresql.conf
Datei anzuhängen .z.B
(Muss natürlich
\path\to\datadir\
durch den richtigen Pfad ersetzt werden)Der erste
echo
Befehl erstellt eine neue 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 Dateipostgresql.conf
überschreiben , wird jede vorgenommene Portkonfiguration mit der in der benutzerdefinierten Konfigurationsdatei überschrieben.quelle