PostgreSQL के पोर्ट का निर्धारण


12

मुझे पता है कि डिफ़ॉल्ट रूप से PostgreSQL पोर्ट 5432 पर सुनता है, लेकिन वास्तव में PostgreSQL के पोर्ट को निर्धारित करने की कमांड क्या है?

कॉन्फ़िगरेशन: Ubuntu 9.10 PostgreSQL 8.4 के साथ

जवाबों:


26

lsof और nmap समाधान हैं, लेकिन वे डिफ़ॉल्ट रूप से स्थापित नहीं हैं। क्या आप चाहते हैं netstat (8) है।

sudo netstat -plunt |grep postgres

लिनक्स रूट / ifconfig / netstat से माना जाता है। समतुल्य आधुनिक कमांड है ss -plung|grep postgres(ध्यान दें, वही झंडे)
ptman

1
कमान के gलिए अब कोई झंडा नहीं है ss। कोशिश करें:ss -pa |grep postgresql
ग्रेडफॉक्स

1
@GrayedFox अपडेट के लिए धन्यवाद, लेकिन मेरे लिए जो पोर्ट का नाम देता है, न कि नंबर, इसलिए मुझे लगता ss -pan |grep postgresहै कि यह अधिक उपयुक्त है
ptman

6

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 सर्वर के साथ स्थापित किया जाना चाहिए।


3
ध्यान दें कि pg_lsclustersएक Ubuntu-वाद है, और है नहीं एक मानक Postgres आदेश। यह इस मामले के लिए काम करेगा, लेकिन सामान्य उद्देश्य समाधान नहीं है ...
voretaq7

2

यदि आप इसे डेटाबेस के अंदर से करना चाहते हैं, तो बस "SHOW पोर्ट" करें। लेकिन यह मान लें कि आप इससे कनेक्ट करने में सक्षम हैं, कम से कम स्थानीय रूप से ...


1

यदि आप स्थानीय मशीन पर खोज कर रहे हैं, तो मैं उपयोग करने के लिए lsof कमांड का उपयोग करूँगा जो पोर्ट पोस्टग्रैस्कल उपयोग कर रहा है

lsof -p <postgres_process_id>

आपको इसे रूट के रूप में चलाना पड़ सकता है।
माइकल मिर

1

मेरे पास कई पोस्टग्रेज इंस्टेंसेस के साथ चलने वाली मशीनें हैं - और इसलिए मेरे पास प्रत्येक पोर्ट के साथ सही डेटाबेस के मिलान की कोशिश का मुद्दा भी है। मैं करता हूं:

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

और फिर, प्रत्येक उदाहरण के लिए निर्देशिका ( -Dतर्क) के लिए लौट आए और देखें:

$ sudo grep port $DIR/postgresql.conf

0

यहाँ एक समाधान है जो मैंने पाया है:

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

यदि आप एक गैर-स्थानीय मशीन खोजना चाहते हैं, तो बस localhostसर्वर के आईपी पते को बदल दें।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.