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
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.
pg_ctl
.