PostgreSQL-portin muuttaminen komentorivillä

PostgreSQL-oletusporttini on 5432, haluan muuttaa oletusporttia komentorivillä (Windows 7).

Näin tämän ratkaisun aiemmin: https://stackoverflow.com/questions/187438/want-to-change-pgsql-port

Yritin suorittaa seuraavat komento, mutta se epäonnistui:

 postgres --p 5431  

Voisiko joku kertoa minulle, kuinka porttia vaihdetaan käytät komentoriviä?

Vastaa

Koska olet Windows-käyttöjärjestelmässä ja olet todennäköisesti aloittamassa PostgreSQL: ää Windows-palveluna, sinä ” Sinun on muokattava postgresql.conf (tietohakemistosi sisällä), jotta uusi portti asetetaan sinne, ja käynnistä sitten postgresql-palvelu uudelleen Palvelut-ohjauspaneelista tai (järjestelmänvalvojana) net service -komento.

Ohjelmallisen tekstieditorityökalun avulla voit muuttaa postgresql.conf -ominaisuutta, jos sinun on automatisoitava tämä. Linux / unix-ruudussa käytät työkalua, kuten sed tai awk, mutta Windowsissa luulen sinun käyttävän VBS: ää , powershell tai lisäosa, kuten Perl.

Uuden portin käyttämiseksi sinun on muutettava yhteysasetuksia sellaisissa työkaluissa kuin PgAdmin-III.

Jos aloitit PostgreSQL: n manuaalisesti käyttämällä pg_ctl, voit asettaa ympäristömuuttujan PGPORT tai antaa määritysasetuksen komentorivi. Tämä ei toimi, kun käynnistät sen uudelleen Windows-palveluna.

Kommentit

  • I ' m käyttämällä " Sveitsin tiedostoveitsi " korvaamaan tekstitiedostot Windowsissa.
  • @a_horse_with_no_name Hyödyllinen työkalu, kun sinulla ei ole ' et ole fileutils / coreutils / etc; kiitos vinkistä.
  • Joten voin ' eikö komentorivillä vaihdeta pgsql-porttia Windowsissa?
  • @NickHung Kyllä, voit, kuten edellä on selitetty, muuttaa asetustiedostoa tekstiprosessorilla tai älä ' älä suorita PostgreSQL: ää Windows-palveluna ja aloita sen sijaan pg_ctl.

Vastaa

  • siirry .. \ PostgreSQL \ 9.0 \ data ja avaa tiedosto postgresql.conf tekstieditorissa / muistilehdessä
  • etsi porttiparametri .eg: port = 5433
  • muokkaa tätä porttisi numeroksi.
  • siirry kohtaan run type services.msc ja käynnistä postgresql-palvelu uudelleen.

kyselytyökalulla voit tarkistaa, onko parametri asetettu vai ei. suorita vain show port -kysely. se näyttää nykyisen porttisi numeron. Jos käytät pgAdminia yhteyden muodostamiseen db, varmista, että olet muuttanut porttinumeroa yhteysasetuksissa.

Vastaa

Ratkaisu, joka tekee ei vaadi tekstin korvaamista tai vastaavia tekniikoita, on määrittää eri portti erilliseen määritystiedostoon ja liittää sitten sisällytysdirektiivi postgresql.conf -tiedostoon.

esim.

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

(tietysti \path\to\datadir\ täytyy korvata oikealla polulla)

Ensimmäinen echo -komento luo uuden tiedosto vain porttimäärityksillä. Toinen liittää sisällytysdirektiivin olemassa olevaan postgres-määritystiedostoon. Koska ”myöhemmät” asetukset korvaavat tiedoston ”aikaisemmat” asetukset, kaikki kohdassa postgresql.conf tehdyt porttimääritykset korvataan mukautetussa asetustiedostossa olevilla.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *