Wiem, że domyślnie PostgreSQL nasłuchuje na porcie 5432, ale jakie jest polecenie, aby faktycznie ustalić port PostgreSQL?
Konfiguracja: Ubuntu 9.10 z PostgreSQL 8.4
Wiem, że domyślnie PostgreSQL nasłuchuje na porcie 5432, ale jakie jest polecenie, aby faktycznie ustalić port PostgreSQL?
Konfiguracja: Ubuntu 9.10 z PostgreSQL 8.4
Odpowiedzi:
lsof i nmap są rozwiązaniami, ale nie są domyślnie instalowane. To, czego chcesz, to netstat (8).
sudo netstat -plunt |grep postgres
g
Dla ss
polecenia nie ma już flagi . Spróbuj:ss -pa |grep postgresql
ss -pan |grep postgres
jest bardziej odpowiedni
Narzędzie PostgreSQL pg_lsclusters wyświetla informacje o konfiguracji i statusie wszystkich klastrów, w tym numer portu.
$ 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
Ma to również tę zaletę, że nie wymaga uruchamiania uprawnień „sudo”.
W systemach Debian i Ubuntu polecenie pg_lsclusters jest dostarczane przez pakiet postgresql-common, który powinien być domyślnie instalowany z serwerem postgresql.
pg_lsclusters
jest to Ubuntu-ism i nie jest standardową komendą Postgres. Będzie działać w tym przypadku, ale nie jest rozwiązaniem ogólnego zastosowania ...
Jeśli chcesz to zrobić z poziomu bazy danych, po prostu zrób „POKAŻ port”. Ale to zakłada, że udało ci się z nim połączyć, przynajmniej lokalnie ...
Jeśli szukasz na komputerze lokalnym, użyłbym polecenia lsof, aby sprawdzić, czy port używa Postgresql
lsof -p <postgres_process_id>
Mam uruchomione maszyny z wieloma instancjami Postgres - dlatego mam również problem z dopasowaniem poprawnej bazy danych do każdego portu. Zwykle robię:
$ ps aux | grep postgres | grep -v 'postgres:'
Następnie dla każdej zwróconej instancji poszukaj katalogu ( -D
argumentu) i:
$ sudo grep port $DIR/postgresql.conf
Oto jedno rozwiązanie, które znalazłem:
sudo apt-get install nmap
sudo nmap localhost | grep postgresql
Jeśli chcesz przeszukać komputer nielokalny, po prostu zmień localhost
adres IP serwera.
ss -plung|grep postgres
(uwaga, te same flagi)