Změna portu PostgreSQL pomocí příkazového řádku

Můj výchozí port PostgreSQL je 5432, chci změnit výchozí port pomocí příkazového řádku (ve Windows 7).

Toto řešení jsem viděl dříve: https://stackoverflow.com/questions/187438/want-to-change-pgsql-port

Zkoušel jsem spustit následující příkaz, ale selhal:

 postgres --p 5431  

Mohl by mi někdo říct, jak změnit port používáte příkazový řádek?

Odpovědět

Jelikož používáte Windows a pravděpodobně spouštíte PostgreSQL jako službu Windows, vy “ Je třeba upravit postgresql.conf (uvnitř vašeho datového adresáře) a nastavit tam nový port, poté restartovat službu postgresql pomocí ovládacího panelu Služby nebo (jako správce) net service příkaz.

Chcete-li to změnit, můžete použít programový nástroj pro úpravy textu postgresql.conf. V linuxovém / unixovém boxu použijete nástroj jako sed nebo awk, ale ve Windows si představuji, že budete používat VBS , powerhell nebo doplňkový nástroj, jako je Perl.

Abyste mohli používat nový port, musíte změnit nastavení připojení v nástrojích, jako je PgAdmin-III.

Pokud jste spouštěli PostgreSQL ručně pomocí pg_ctl, můžete nastavit proměnnou prostředí PGPORT nebo předat možnost konfigurace na příkazový řádek. To nebude fungovat, když jej znovu spustíte jako službu Windows.

Komentáře

  • I ' m pomocí " Swiss File Knife " k nahrazení textových souborů ve Windows.
  • @a_horse_with_no_name Užitečný nástroj, když nemáte ' soubor fileutils / coreutils / atd.; děkuji za tip.
  • Takže můžu ' Používáte příkazový řádek ke změně portu pgsql ve Windows?
  • @NickHung Ano, jak je vysvětleno výše, můžete použít konfigurační soubor pomocí textového procesoru nebo nespouštět ' jako službu Windows PostgreSQL a místo toho jej spustit pomocí pg_ctl.

Odpovědět

  • přejít na .. \ PostgreSQL \ 9.0 \ data a otevřete soubor postgresql.conf v textovém editoru / poznámkovém bloku
  • vyhledejte parametr portu. Eg: port = 5433
  • upravte jej na číslo svého portu.
  • přejděte ke spuštění typu services.msc a restartujte službu postgresql.

Pomocí dotazovacího nástroje můžete zkontrolovat, zda je parametr nastaven či nikoli. stačí spustit show port dotaz. zobrazí vaše aktuální číslo portu. Pokud používáte pgAdmin pro připojení k db, ujistěte se, že jste změnili číslo portu v nastavení připojení.

Odpověď

Řešení, které ano nevyžaduje žádnou náhradu textu ani podobné techniky, je nakonfigurovat jiný port v samostatném konfiguračním souboru, poté přidat do souboru postgresql.conf direktivu include.

např.

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

(Samozřejmě \path\to\datadir\ je třeba nahradit správnou cestou)

První příkaz echo vytvoří nový soubor pouze s konfigurací portu. Druhý připojí direktivu include ke stávajícímu konfiguračnímu souboru postgres. Jelikož „pozdější“ nastavení přepíše „dřívější“ nastavení v souboru, veškerá konfigurace portů provedená v postgresql.conf bude přepsána nastavením ve vlastním konfiguračním souboru.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *