A PostgreSQL port megváltoztatása parancssor használatával

A PostgreSQL alapértelmezett portom 5432, a parancssor használatával szeretném megváltoztatni az alapértelmezett portot (Windows 7 rendszerben).

Korábban láttam ezt a megoldást: https://stackoverflow.com/questions/187438/want-to-change-pgsql-port

Megpróbáltam futtatni a következőket parancs, de nem sikerült:

 postgres --p 5431  

Meg tudná mondani valaki, hogyan kell megváltoztatni a portot a parancssor használatában?

Válasz

Mivel Ön Windows operációs rendszert használ, és valószínűleg Windows szolgáltatásként indítja a PostgreSQL-t, ezért ” Szerkesztenem kell az postgresql.conf fájlt (az adatkönyvtárban), hogy ott beállítsuk az új portot, majd a Szolgáltatások vezérlőpulttal vagy (rendszergazdaként) a net service parancs.

Használhatja az automatizált szövegszerkesztő eszközt a postgresql.conf módosításához. Linux / unix dobozon olyan eszközt használ, mint a sed vagy a awk, de Windows rendszeren azt képzelem, hogy a VBS-t fogja használni , powershell vagy egy kiegészítő eszköz, például a Perl.

Az új port használatához meg kell változtatnia a kapcsolati beállításokat az olyan eszközökben, mint a PgAdmin-III.

Ha a PostgreSQL-t kézzel indította el a pg_ctl használatával, beállíthatja a PGPORT környezeti változót, vagy átadhat egy konfigurációs beállítást a parancssor. Ez nem fog működni, amikor újraindítja Windows szolgáltatásként.

Megjegyzések

  • I ' m a " svájci fájlkés " használatával a szöveges fájlok cseréjéhez a Windows rendszeren.
  • @a_horse_with_no_name Hasznos eszköz, ha nem rendelkezik ' fájl fájlokkal / coreutils / stb; köszönöm a tippet.
  • Tehát ' nem használja a parancssort a pgsql port megváltoztatásához a Windows rendszerben?
  • @NickHung Igen, a fent leírtak szerint – szövegszerkesztővel megváltoztathatja a konfigurációs fájlt, vagy ne futtassa ' a PostgreSQL-t Windows-szolgáltatásként, és ehelyett pg_ctl.

Válasz

  • lépjen a .. \ PostgreSQL oldalra \ 9.0 \ data, és nyissa meg a postgresql.conf fájlt a szövegszerkesztőben / jegyzettömbben
  • keresse meg a .eg: port = 5433 paramétert
  • szerkessze ezt a portszámra.
  • lépjen a services.msc típusú futtatáshoz, és indítsa újra a postgresql szolgáltatást.

a lekérdező eszköz segítségével ellenőrizheti, hogy a paraméter be van-e állítva. csak hajtsa végre a show port lekérdezést. megjeleníti az aktuális portszámot. Ha a pgAdmin használatával csatlakozik a db-hoz, győződjön meg arról, hogy megváltoztatta a portszámot a kapcsolati beállításokban.

Válasz

Olyan megoldás nem igényel semmilyen szövegcserét vagy hasonló technikát, a különálló port konfigurálása különálló konfigurációs fájlban, majd az postgresql.conf fájlhoz csatoljon egy include utasítást.

pl.

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

(Természetesen \path\to\datadir\ a helyes útvonalra kell cserélni)

Az első echo parancs új parancsot hoz létre fájl csak a port konfigurációjával. A második egy csatolási irányelvet csatol a meglévő postgres config fájlhoz. Mivel a “későbbi” beállítások felülírják a fájl “korábbi” beállításait, a postgresql.conf fájlban végrehajtott portkonfigurációk felülíródnak az egyéni konfigurációs fájlban megadottakkal.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük