Ændring af PostgreSQL-port ved hjælp af kommandolinje

Min PostgreSQL-standardport er 5432, jeg vil ændre standardport ved hjælp af kommandolinje (i Windows 7).

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

Jeg forsøgte at køre følgende kommando, men den mislykkedes:

 postgres --p 5431  

Kan nogen fortælle mig, hvordan jeg skifter port ved at bruge kommandolinjen?

Svar

Da du “er på Windows og sandsynligvis starter PostgreSQL som en Windows-tjeneste, er du” Jeg skal redigere postgresql.conf (inde i dit datakatalog) for at indstille den nye port der, og genstart derefter postgresql-tjenesten ved hjælp af kontrolpanelet Services eller (som administrator) net service kommando.

Du kan bruge et programmatisk tekstredigeringsværktøj til at ændre postgresql.conf, hvis du har brug for at automatisere dette. På en Linux / unix-boks ville du bruge et værktøj som sed eller awk, men på Windows kan jeg forestille mig, at du bruger VBS , powershell eller et tilføjelsesværktøj som Perl.

Du skal ændre forbindelsesindstillingerne i værktøjer som PgAdmin-III for at bruge den nye port.

Hvis du startede PostgreSQL manuelt ved hjælp af pg_ctl, kunne du indstille miljøvariablen PGPORT eller videregive en konfigurationsindstilling på kommandolinje. Dette fungerer ikke, når du starter det som en Windows-tjeneste.

Kommentarer

  • I ' m ved hjælp af " Swiss File Knife " til udskiftning i tekstfiler i Windows.
  • @a_horse_with_no_name Nyttigt værktøj, når du ikke ' ikke har fileutils / coreutils / etc; tak for tipet.
  • Så jeg kan ' Brug ikke kommandolinjen til at ændre pgsql-port i Windows?
  • @NickHung Ja, du kan, som forklaret ovenfor – bruge en tekstbehandler til at ændre konfigurationsfilen eller ikke ' for at køre PostgreSQL som en Windows-tjeneste og i stedet starte den med pg_ctl.

Svar

  • gå til .. \ PostgreSQL \ 9.0 \ data og åbn filen postgresql.conf i teksteditor / notesblok
  • søg efter portparameter .eg: port = 5433
  • rediger dette til dit portnummer.
  • gå til at køre typen services.msc og genstart postgresql-tjenesten.

Du kan kontrollere, om parameteren er indstillet eller ikke via forespørgselsværktøjet. udfør bare show port forespørgsel. det viser dit aktuelle portnummer. Hvis du bruger pgAdmin til at oprette forbindelse til db, skal du sørge for at ændre dit portnummer i forbindelsesindstillingerne.

Svar

En løsning, der gør ikke kræver nogen udskiftning af tekst eller lignende teknikker er at konfigurere den forskellige port i en separat konfigurationsfil, og tilføj derefter et inkluderingsdirektiv til 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\ skal udskiftes med den korrekte sti)

Den første echo kommando opretter en ny fil med kun portkonfigurationen. Den anden tilføjer et inkluderingsdirektiv til den eksisterende postgres-konfigurationsfil. Da indstillingerne for “senere” tilsidesætter “tidligere” indstillinger i filen, overskrives enhver portkonfiguration udført i postgresql.conf med den i den brugerdefinerede konfigurationsfil.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *