Postgres के विशिष्ट संस्करणों की स्थापना रद्द कैसे करें?


11

Ubuntu 14.04 पर मैंने नवीनतम पोस्टग्रेट्स प्राप्त करने के लिए ऐसा किया है:

sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update
sudo apt-get upgrade

फिर मैंने संस्करण 9.4 स्थापित किया:

sudo apt-get install postgresql-9.4

हालाँकि ऐसा लगता है कि मेरे पास अब तीन संस्करण हैं:

sudo service postgresql stop

 * Stopping PostgreSQL 9.3 database server  [ OK ]
 * Stopping PostgreSQL 9.4 database server  [ OK ]
 * Stopping PostgreSQL 9.5 database server  [ OK ]

मैं केवल 9.4 को कैसे रख सकता हूं और दूसरे को अनइंस्टॉल कर सकता हूं? धन्यवाद

अपडेट करें:

जैसा कि टिप्पणियों में सुझाया गया है मैंने 9.3 और 9.5 की स्थापना रद्द कर दी है।

लेकिन जब मैं ऐसा करता हूं:

sudo service postgresql status
9.3/main (port 5432): down
9.4/main (port 5434): online
9.5/main (port 5433): down

अब तक बहुत अच्छा है, लेकिन जब मैं पोस्टग्रैज पर स्विच करता हूं:

sudo su postgres

और एक psql करो, मुझे एक त्रुटि मिलती है:

psql: could not connect to server: No such file or directory
    Is the server running locally and accepting
    connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?

आपने 9.3 और 9.5 कैसे स्थापित किए?
रिनजविंड

9.3 डिफ़ॉल्ट रूप से 14.04 में स्थापित किया गया था। 9.5 उस समय स्थापित किया गया था जब मैंने ऊपर पीपीआई जोड़ा था। यह सिर्फ नवीनतम सर्वर स्थापित किया है।
होउमैन

Postgres एक डिफ़ॉल्ट उबंटू का हिस्सा नहीं है;; लेकिन फिर मुझे लगता है कि sudo apt-get remove postgresql-9.39.3 को हटा देगा (9.3 सर्वर को बंद करने के बाद)
रिनविंड

धन्यवाद मैंने आपकी सलाह का पालन किया, कृपया अद्यतन प्रश्न देखें।
होउमैन

मुझे यह मिला। समाधान सब कुछ शुद्ध करने के लिए है जैसा कि यह यहाँ कहता है: askubuntu.com/a/334730/58150
होउमन

जवाबों:


7

PostgreSQL के विभिन्न संस्करण संकुल postgresql-9। * में स्थित हैं।

  1. इसलिए आपको अपने दो पैकेज निकालने चाहिए:

    sudo apt-get purge postgresql-9.3 postgresql-9.5
    
  2. फिर आपको अनावश्यक कॉन्फिग फोल्डर को हटा देना चाहिए:

    rm -r /etc/postgresql/9.3/ /etc/postgresql/9.5
    
  3. और / var / lib / फ़ोल्डर से यदि आपके पास:

    /var/lib/postgresql/*
    

मुझे आशा है कि यह आपकी मदद करेगा।


1

बहुत देर से उत्तर जोड़ना, लेकिन यहाँ लोगों की मदद कर सकता है।

संक्षिप्त उत्तर: त्रुटि इंगित करती है कि गलत (डिफ़ॉल्ट नहीं) पोर्ट पर कॉन्फ़िगर किए गए पोस्टग्रेज। सही पोर्ट का उपयोग करें

लंबे उत्तर: जब आपने पोस्टग्रैस्कल के कई संस्करण स्थापित किए, तो उन सभी ने अलग-अलग पोर्ट पर पोस्टग्रेज क्लस्टर चलाना शुरू कर दिया। अपने उत्पादन में, निम्न postgres संस्करण चला रहे: 9.3 --> 5432, 9.4 -->5434, 9.5 --> 5433

sudo service postgresql status
9.3/main (port 5432): down
9.4/main (port 5434): online
9.5/main (port 5433): down

आप अन्य संस्करणों की स्थापना रद्द कर सकते हैं sudo apt-get purge postgresql-9.xजहां 9.xआपके संस्करण का उपयोग होता है, हालांकि आपके मामले में संस्करण (9.4) जो आपके सिस्टम पर मौजूद था, को पोर्ट 5434 पर चलाने के लिए कॉन्फ़िगर किया गया है। इस प्रकार त्रुटि Is the server running locally and accepting connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?पूरी तरह से संकेत देती है कि पोर्ट से कनेक्ट करने की कोशिश कर रहा डिफ़ॉल्ट रूप से psql 5432जो नहीं अब कोई भी पोस्टग्रैजमेंट संलग्न है।

दो समाधान यहां :

  • psql -p 5434Psql कमांड में या तो पोर्ट विकल्प (-p / - port) का उपयोग करें।
  • या 5432 पर सेवा करने के लिए अपने पोस्टग्रेज सर्वर portकॉन्फ़िगरेशन मान को कॉन्फ़िगर /etc/postgresql/9.5/main/postgresql.confकरें। परिवर्तन के बाद पोस्टग्रेज को पुनरारंभ करना न भूलें।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.