Endre PostgreSQL-port ved hjelp av kommandolinjen

Min PostgreSQL-standardport er 5432, jeg vil endre standardport ved å bruke kommandolinjen (i Windows 7).

Jeg så denne løsningen før: https://stackoverflow.com/questions/187438/want-to-change-pgsql-port

Jeg prøvde å kjøre følgende kommando, men den mislyktes:

 postgres --p 5431  

Kan noen fortelle meg hvordan jeg bytter port ved å bruke kommandolinjen?

Svar

Siden du «er på Windows og sannsynligvis starter PostgreSQL som en Windows-tjeneste, er du» Du må redigere postgresql.conf (inne i datakatalogen) for å angi den nye porten der, og start deretter postgresql-tjenesten på nytt ved hjelp av Tjenestens kontrollpanel eller (som administrator) net service -kommando.

Du kan bruke et programmatisk tekstredigeringsverktøy til å endre postgresql.conf hvis du trenger å automatisere dette. I en Linux / unix-boks vil du bruke et verktøy som sed eller awk, men på Windows antar jeg at du bruker VBS , powershell eller et tilleggsverktøy som Perl.

Du må endre tilkoblingsinnstillingene i verktøy som PgAdmin-III for å bruke den nye porten.

Hvis du startet PostgreSQL manuelt med pg_ctl, kan du angi PGPORT miljøvariabelen eller sende et konfigurasjonsalternativ på kommandolinje. Dette fungerer ikke når du starter den som en Windows-tjeneste.

Kommentarer

  • I ' m bruker " Swiss File Knife " for å gjøre erstatning i tekstfiler på Windows.
  • @a_horse_with_no_name Nyttig verktøy når du ikke har ' t har fileutils / coreutils / etc; takk for tipset.
  • Så jeg kan ' bruker du ikke kommandolinjen til å endre pgsql-port i Windows?
  • @NickHung Ja, du kan, som forklart ovenfor – bruke en tekstbehandler for å endre konfigurasjonsfilen, eller ikke ' for å kjøre PostgreSQL som en Windows-tjeneste og i stedet starte den med pg_ctl.

Svar

  • gå til .. \ PostgreSQL \ 9.0 \ data og åpne filen postgresql.conf i teksteditor / notisblokk
  • søk etter portparameter .eg: port = 5433
  • rediger dette til portnummeret ditt.
  • gå for å kjøre type services.msc og start postgresql-tjenesten på nytt.

Du kan kontrollere om parameteren er angitt eller ikke via søkeverktøyet. bare utfør show port spørring. det vil vise ditt nåværende portnummer. Hvis du bruker pgAdmin for å koble til db, må du sørge for at du endret portnummeret ditt i tilkoblingsinnstillinger.

Svar

En løsning som gjør ikke krever noen tekstutskifting eller lignende teknikker er å konfigurere den forskjellige porten i en egen konfigurasjonsfil, og legg deretter til et inkluderingsdirektiv i postgresql.conf -filen.

f.eks.

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

(Selvfølgelig \path\to\datadir\ må byttes ut med riktig bane)

Den første echo -kommandoen oppretter en ny fil med bare portkonfigurasjonen. Den andre legger til et inkluderingsdirektiv til den eksisterende konfigurasjonsfilen for postgres. Ettersom de «senere» innstillingene overstyrer «tidligere» innstillinger i filen, vil enhver portkonfigurasjon som er utført i postgresql.conf bli overskrevet med den i den tilpassede konfigurasjonsfilen.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *