PostgreSQL'in portunu belirleme


13

PostgreSQL'in varsayılan olarak 5432 numaralı bağlantı noktasını dinlediğini biliyorum, ancak aslında PostgreSQL'in bağlantı noktasını belirleme komutu nedir?

Yapılandırma: PostgreSQL 8.4 ile Ubuntu 9.10

Yanıtlar:


26

lsof ve nmap çözümlerdir, ancak varsayılan olarak yüklenmezler. Ne istiyorsun netstat (8).

sudo netstat -plunt |grep postgres

Linux'un / ifconfig / netstat yolundan uzaklaştığı tahmin ediliyor. Eşdeğer modern komut ss -plung|grep postgres(not, aynı bayraklar)
ptman

1
Hiçbir yoktur gbayrak için artık sskomuta. Deneyin:ss -pa |grep postgresql
GrayedFox

1
@GrayedFox güncelleme için teşekkürler, ama benim için port numarasını değil, numarasını veriyor, bu yüzden ss -pan |grep postgresdaha uygun olduğunu düşünüyorum
ptman

6

PostgreSQL yardımcı programı pg_lsclusters, bağlantı noktası numarası da dahil olmak üzere tüm kümelerin yapılandırması ve durumu hakkında bilgi gösterir.

$ pg_lsclusters
Version Cluster   Port Status Owner    Data directory                     Log file
8.4     main      5433 online postgres /var/lib/postgresql/8.4/main       /var/log/postgresql/postgresql-8.4-main.log

Bu ayrıca 'sudo' ayrıcalıklarının çalıştırılmasını gerektirmeme avantajına da sahiptir.

Debian ve Ubuntu sistemlerinde pg_lsclusters komutu postgresql-common paketi tarafından sağlanır ve varsayılan olarak postgresql sunucusuyla yüklenmesi gerekir.


3
Not pg_lsclustersBir Ubuntu-izm ve olduğu değil , standart bir Postgres komut. Bu dava için çalışacak, ancak genel amaçlı bir çözüm değil ...
voretaq7

2

Veritabanının içinden yapmak istiyorsanız, "SHOW port" yapmanız yeterlidir. Ancak bu, en azından yerel olarak ona bağlanabildiğinizi varsayar ...


1

Yerel makinede arama yapıyorsanız, postgresql bağlantı noktasının kullanılıp kullanılmadığını kontrol etmek için lsof komutunu kullanırdım

lsof -p <postgres_process_id>

Bunu root olarak çalıştırmanız gerekebilir.
Michael Mior

1

Ben çalışan birden fazla postgres örnekleri ile makineleri var - ve bu yüzden de her port ile doğru veritabanını eşleştirmek için çalışıyorum sorunu var. Yapma eğilimindeyim:

$ ps aux | grep  postgres | grep -v 'postgres:'

Ve sonra, döndürülen örneklerin her biri için dizini ( -Dbağımsız değişken) arayın ve:

$ sudo grep port $DIR/postgresql.conf

0

İşte bulduğum bir çözüm:

sudo apt-get install nmap
sudo nmap localhost | grep postgresql

Yerel olmayan bir makinede arama yapmak istiyorsanız localhost, sunucunun IP adresine geçmeniz yeterlidir .

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.