मुझे पता है कि डिफ़ॉल्ट रूप से PostgreSQL पोर्ट 5432 पर सुनता है, लेकिन वास्तव में PostgreSQL के पोर्ट को निर्धारित करने की कमांड क्या है?
कॉन्फ़िगरेशन: Ubuntu 9.10 PostgreSQL 8.4 के साथ
मुझे पता है कि डिफ़ॉल्ट रूप से PostgreSQL पोर्ट 5432 पर सुनता है, लेकिन वास्तव में PostgreSQL के पोर्ट को निर्धारित करने की कमांड क्या है?
कॉन्फ़िगरेशन: Ubuntu 9.10 PostgreSQL 8.4 के साथ
जवाबों:
lsof और nmap समाधान हैं, लेकिन वे डिफ़ॉल्ट रूप से स्थापित नहीं हैं। क्या आप चाहते हैं netstat (8) है।
sudo netstat -plunt |grep postgres
g
लिए अब कोई झंडा नहीं है ss
। कोशिश करें:ss -pa |grep postgresql
ss -pan |grep postgres
है कि यह अधिक उपयुक्त है
PostgreSQL उपयोगिता pg_lsclusters पोर्ट संख्या सहित सभी समूहों के कॉन्फ़िगरेशन और स्थिति के बारे में जानकारी दिखाती है।
$ 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
इसे चलाने के लिए 'sudo' विशेषाधिकारों की आवश्यकता नहीं है।
डेबियन और उबंटू सिस्टम पर, pg_lsclusters कमांड पैकेज postgresql-common द्वारा प्रदान किया जाता है, जिसे डिफ़ॉल्ट रूप से postgresql सर्वर के साथ स्थापित किया जाना चाहिए।
pg_lsclusters
एक Ubuntu-वाद है, और है नहीं एक मानक Postgres आदेश। यह इस मामले के लिए काम करेगा, लेकिन सामान्य उद्देश्य समाधान नहीं है ...
यदि आप इसे डेटाबेस के अंदर से करना चाहते हैं, तो बस "SHOW पोर्ट" करें। लेकिन यह मान लें कि आप इससे कनेक्ट करने में सक्षम हैं, कम से कम स्थानीय रूप से ...
मेरे पास कई पोस्टग्रेज इंस्टेंसेस के साथ चलने वाली मशीनें हैं - और इसलिए मेरे पास प्रत्येक पोर्ट के साथ सही डेटाबेस के मिलान की कोशिश का मुद्दा भी है। मैं करता हूं:
$ ps aux | grep postgres | grep -v 'postgres:'
और फिर, प्रत्येक उदाहरण के लिए निर्देशिका ( -D
तर्क) के लिए लौट आए और देखें:
$ sudo grep port $DIR/postgresql.conf
यहाँ एक समाधान है जो मैंने पाया है:
sudo apt-get install nmap
sudo nmap localhost | grep postgresql
यदि आप एक गैर-स्थानीय मशीन खोजना चाहते हैं, तो बस localhost
सर्वर के आईपी पते को बदल दें।
ss -plung|grep postgres
(ध्यान दें, वही झंडे)