Komut satırını kullanarak PostgreSQL portunu değiştirme


10

Benim PostgreSQL varsayılan bağlantı noktası 5432, komut satırını (Windows 7'de) kullanarak varsayılan bağlantı noktasını değiştirmek istiyorum.

Bu çözümü daha önce gördüm: /programming/187438/want-to-change-pgsql-port

Aşağıdaki komutu çalıştırmayı denedim, ancak başarısız oldu:

postgres --p 5431

Birisi bana komut satırını kullanarak bağlantı noktasını nasıl değiştirebileceğimi söyleyebilir mi?

Yanıtlar:


9

Windows'da olduğunuzdan ve muhtemelen PostgreSQL'i bir Windows hizmeti olarak başlattığınızdan postgresql.conf, yeni bağlantı noktasını ayarlamak için (veri dizininizin içinde) düzenlemeniz , ardından Hizmetler kontrol panelini veya (Yönetici olarak) postgresql hizmetini yeniden başlatmanız gerekir. ) net servicekomutunu girin.

Bunu postgresql.confotomatikleştirmeniz gerekiyorsa değiştirmek için programlı bir metin düzenleme aracı kullanabilirsiniz . Linux / unix kutusunda sedveya gibi bir araç kullanırsınız awk, ancak Windows'ta VBS, powershell veya Perl gibi bir eklenti aracı kullanacağınızı hayal ediyorum.

PgAdmin-IIIYeni bağlantı noktasını kullanmak gibi araçlarda bağlantı ayarlarını değiştirmeniz gerekir .

PostgreSQL'i manuel olarak kullanmaya başlıyorsanız pg_ctl, PGPORTortam değişkenini ayarlayabilir veya komut satırına bir yapılandırma seçeneği iletebilirsiniz. Bir Windows hizmeti olarak başlattığınızda bu çalışmaz.


Windows'taki metin dosyalarında değişiklik yapmak için "Swiss File Knife" kullanıyorum.
a_horse_with_no_name

@a_horse_with_no_name fileutils / coreutils / etc dosyanız olmadığında faydalı araç; Bahşiş için teşekkürler.
Craig Ringer

Yani Windows'da pgsql portunu değiştirmek için komut satırını kullanamıyorum?
Nick Hung

@NickHung Evet, yukarıda açıklandığı gibi - yapılandırma dosyasını değiştirmek için bir metin işlemcisi kullanabilir veya PostgreSQL'i Windows hizmeti olarak çalıştırıp bununla başlatabilirsiniz pg_ctl.
Craig Ringer

7
  • .. \ PostgreSQL \ 9.0 \ data'ya gidin ve postgresql.conf dosyasını metin düzenleyicide / not defterinde açın
  • port parametresini arayın .eg: port = 5433
  • bunu bağlantı noktası numaranıza düzenleyin.
  • services.msc türünü çalıştırın ve postgresql hizmetini yeniden başlatın.

parametrenin ayarlanıp ayarlanmadığını sorgu aracıyla kontrol edebilirsiniz. sadece show portsorguyu yürüt . mevcut port numaranızı gösterecektir. Db'ye bağlanmak için pgAdmin kullanıyorsanız, bağlantı ayarlarında bağlantı noktası numaranızı değiştirdiğinizden emin olun.


0

Metin değiştirme veya benzer teknikler gerektirmeyen bir çözüm, farklı bağlantı noktasını ayrı bir yapılandırma dosyasında yapılandırmak ve daha sonra dosyaya bir ekleme yönergesi eklemektir postgresql.conf.

Örneğin

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

(Elbette \path\to\datadir\doğru yolla değiştirilmesi gerekir)

İlk echokomut, yalnızca bağlantı noktası yapılandırmasıyla yeni bir dosya oluşturur. İkincisi mevcut postgres yapılandırma dosyasına bir include yönergesi ekler. "Daha sonraki" ayarlar, dosyadaki "önceki" ayarları geçersiz kıldığından, yapılan tüm bağlantı noktası yapılandırmasının postgresql.confüzerine özel yapılandırma dosyasındaki ayarların üzerine yazılır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.