Min PostgreSQL-standardport är 5432, jag vill ändra standardport med kommandoraden (i Windows 7).
Jag såg den här lösningen tidigare: https://stackoverflow.com/questions/187438/want-to-change-pgsql-port
Jag försökte köra följande kommando, men det misslyckades:
postgres --p 5431
Kan någon berätta för mig hur man byter port när du använder kommandoraden?
Svar
Eftersom du är på Windows och förmodligen startar PostgreSQL som en Windows-tjänst, du ” Du måste redigera postgresql.conf
(inuti din datakatalog) för att ställa in den nya porten där och starta sedan om postgresql-tjänsten med hjälp av Tjänstens kontrollpanel eller (som administratör) net service
-kommando.
Du kan använda ett programmatiskt textredigeringsverktyg för att ändra postgresql.conf
om du behöver automatisera detta. I en Linux / unix-ruta skulle du använda ett verktyg som sed
eller awk
, men på Windows antar jag att du kommer att använda VBS , powershell eller ett tilläggsverktyg som Perl.
Du måste ändra anslutningsinställningarna i verktyg som PgAdmin-III
för att använda den nya porten.
Om du startade PostgreSQL manuellt med pg_ctl
kan du ställa in PGPORT
miljövariabel eller skicka ett konfigurationsalternativ på kommandorad. Detta fungerar inte när du startar den som en Windows-tjänst.
Kommentarer
Svar
- gå till .. \ PostgreSQL \ 9.0 \ data och öppna filen postgresql.conf i textredigerare / anteckningsblock
- sök efter portparameter .eg: port = 5433
- redigera detta till ditt portnummer.
- gå till kör typ services.msc och starta om postgresql-tjänsten.
du kan kontrollera om parametern är inställd eller inte via frågeverktyget. kör bara show port
frågan. det visar ditt aktuella portnummer. Om du använder pgAdmin för att ansluta till db, se till att du ändrade ditt portnummer i anslutningsinställningarna.
Svar
En lösning som gör inte kräver någon textbyte eller liknande tekniker är att konfigurera olika portar i en separat konfigurationsfil och sedan lägga till ett inkluderingsdirektiv till postgresql.conf
-filen.
t.ex.
echo port = 5431 > \path\to\datadir\custom.conf echo include custom.conf>> \path\to\datadir\postgresql.conf
(Naturligtvis \path\to\datadir\
måste ersättas med rätt sökväg)
Det första echo
-kommandot skapar ett nytt fil med bara portkonfigurationen. Den andra lägger till ett inkluderingsdirektiv till den befintliga konfigurationsfilen för postgres. Eftersom de ”senare” inställningarna åsidosätter ”tidigare” inställningar i filen, kommer alla portkonfigurationer som görs i postgresql.conf
att skrivas över med den i den anpassade konfigurationsfilen.
pg_ctl
.