रनिंग एक्सटेंशन एक्सटेंशन पोस्टगीस देता है ERROR एक्सटेंशन कंट्रोल फाइल नहीं खोल सकता है?


51

मैंने कई बार PostgreSQL 9.x और PostGIS 1.5 / 2.0 स्थापित किया है और इस समस्या को कभी नहीं झेला है।

मुझे बस एक नया CentOS 6.3 सर्वर अप और रनिंग मिला है और मेरे पास उम्मीद के मुताबिक 9.3 कार्य हैं। मै भाग चुका

yum install postgis2_93

और मैं फाइलों को देख सकता हूं

/usr/pgsql-9.3/share/contrib/

हालाँकि, जब मैं दौड़ता हूँ

CREATE EXTENSION postgis;

मुझे प्राप्त हुआ

ERROR:  could not open extension control file "/usr/pgsql-9.3/share/extension/postgis.control": No such file or directory

ट्यूटोरियल ( # 1 , # 2 ) मैंने उपयोग किया है PostGIS स्थापित करने और एक्सटेंशन बनाने के बीच कोई कदम नहीं दिखाया गया है।

मैं क्या खो रहा हूँ?


आपको जो याद आ रहा है वह है 'पोस्टगिस.कंट्रोल' :) सवाल यह है कि 'क्यों' या 'कहां' है। पहले, देखें कि क्या आपके पास 'खोज / usr -name postgis.control' चलाकर भी कॉपी है। यदि आप नहीं करते हैं, तो यह बिल्कुल नए पोस्टगिस 2_93 पैकेज के साथ एक पैकेजिंग समस्या है जिसे ठीक करने की आवश्यकता है।
पॉल रेम्सी

ओह, आप फ़ाइलें ('पोस्टगिस.कंट्रोल' सहित) साझा / कंट्रीब देख सकते हैं, लेकिन त्रुटि संदेश से pgsql शेयर / एक्सटेंशन में दिख रहा है। 9 9 से 9 9 बजे तक डिफ़ॉल्ट विस्तार स्थान में बदलाव हो सकता है जो कि पैकेट याद किया गया था।
पॉल रैमसे

@PaulRamsey - मैं भागा find /usr -name postgis.controlऔर यह मौजूद नहीं है। मैं शेयर / कंट्रीब में कुछ फाइलें देख सकता हूं; हालाँकि, postgis.control उनमें से नहीं है ... आप मुझे क्या सुझाव देते हैं? एक तय करने के लिए प्रतीक्षा करें, अपना खुद का, कुछ और बनाओ?
losthorse

@PaulRamsey - मैं सिर्फ सत्यापित है कि postgis-2.1.soमें मौजूद है /libइसका मतलब मैं बस अपना खुद का postgis.control फ़ाइल कर सकते हैं करता है?
18

यदि आप एक postgis.sql फ़ाइल पा सकते हैं, तो आप अपने डेटाबेस (और spatial_ref_sys.sql फ़ाइल) में मैन्युअल रूप से अपने डेटाबेस को स्थानिकृत कर सकते हैं। गुम नियंत्रण फ़ाइल की सूचना पैकर को दें, यह एक बड़ी समस्या है।
पॉल रेम्सी

जवाबों:


12

यदि आप एक postgis.sql फ़ाइल पा सकते हैं, तो आप अपने डेटाबेस (और spatial_ref_sys.sql फ़ाइल) में मैन्युअल रूप से अपने डेटाबेस को स्थानिकृत कर सकते हैं। गुम नियंत्रण फ़ाइल की सूचना पैकर को दें, यह एक बड़ी समस्या है।


54

मैं सिर्फ Ubuntu सर्वर 14.04 पर एक ही समस्या थी। मैंने postgisआधिकारिक उबंटू रिपॉजिटरी से एक्सटेंशन का उपयोग करके इंस्टॉल किया apt-get install postgis

फिर, find /usr -name postgis.controlकोई परिणाम नहीं लौटाया।

extension/postgis.controlपोस्टगिस-स्क्रिप्ट नहीं होने के कारण कारण स्थापित नहीं किया गया था।

$ aptitude search postgis
i   libpostgis-java                                  - Geographic objects support for PostgreSQL -- JDBC support 
i   postgis                                          - Geographic objects support for PostgreSQL                 
p   postgis:i386                                     - Geographic objects support for PostgreSQL                 
i   postgis-doc                                      - Geographic objects support for PostgreSQL -- documentation
i   postgresql-9.3-postgis-2.1                       - Geographic objects support for PostgreSQL 9.3             
p   postgresql-9.3-postgis-2.1:i386                  - Geographic objects support for PostgreSQL 9.3             
i   postgresql-9.3-postgis-2.1-scripts               - PostGIS for PostgreSQL 9.3 -- scripts -- dummy package    
i   postgresql-9.3-postgis-scripts                   - Geographic objects support for PostgreSQL 9.3 -- scripts 

इसका समाधान इसे स्थापित करना है।

डेबियन जैसे डिस्ट्रोस पर:

apt-get install postgis*

एप्टीट्यूड पैकेज मैनेजर स्वचालित रूप से स्थापित करने के लिए सही पैकेज संस्करण निर्धारित करेगा। पोस्टगिस-डॉक भी स्थापित किया जाएगा।

संपादित करें

जैसे कुछ लोगों ने टिप्पणियों में देखा, इसकी postgis*आवश्यकता नहीं है क्योंकि यह कुछ पैकेजों को कड़ाई से स्थापित करता है जिन्हें केवल काम करने के लिए आवश्यक नहीं है।

आवश्यक पैकेज postgisऔर postgresql-9.x-postgis-scriptsमेटा पैकेज हैं। वे आपके सिस्टम के लिए सही वास्तविक संस्करण का चयन करते हैं। तो आवश्यक पैकेजों को स्थापित करने के लिए आदेश हैं

 $ sudo apt-get install postgis postgresql-9.3-postgis-scripts

के लिए postgresql-9.3। उबन्टु 16.04चलता है postgresql-9.5इसलिए कमांड बन जाता है:

 $ sudo apt-get install postgis postgresql-9.5-postgis-scripts

आप निम्न कमांड चलाकर ऑपरेशन की सफलता की जांच कर सकते हैं:

find /usr -name postgis.control

मेरे सर्वर पर, यह अब वापस आता है:

/usr/share/postgresql/9.3/extension/postgis.control

अब आप अपने डेटाबेस पर किसी भी डेटाबेस पर एक्सटेंशन को सक्षम कर सकते हैं:

  • सुपरबस्टर के साथ अपने डीबी से कनेक्ट करें (डिफ़ॉल्ट रूप से पोस्टग्रेज)
  • Daud CREATE EXTENSION postgis;

आपके सार्वजनिक स्कीमा में अब सभी पोस्टगिस ऑब्जेक्ट और फ़ंक्शंस शामिल हैं।


... काश आपके पास भी विंडोज की दिशा होती
कोडीबस्टीन

...कोई बात नहीं! StackBuilder के माध्यम से PostGIS को पुनर्स्थापित करके विंडोज में इसे हल किया गया
CodyBugstein

4
धन्यवाद यह मेरी उबंटू समस्या को ठीक करता है! "पोस्टगिस *" सामान की एक गुच्छा हो जाता है जिसकी आपको आवश्यकता नहीं है। मुझे लगता है कि "apt-get install पोस्टगिस postgresql-9.3-postgis-2.1" पर्याप्त है।
नेल्सन

शायद तुम सही हो। मेरे मामले में, एक पूर्ण स्थापित बेहतर था, लेकिन यह नियम नहीं है।
रेमी बी।

"apt-get install पोस्टगिस *" नियम। धन्यवाद!
nemesisdesign

18

Ubuntu 14.04 में आपको postgresql-9.3-postgis-scriptsपैकेज स्थापित करने की भी आवश्यकता है । उसके बाद मैं भागा

sudo apt-get install पोस्टगिस postgresql-9.3-postgis-script

मैं तब सफलतापूर्वक दौड़ने में सक्षम था

सृजन विस्तार पोस्टगिस;

PostGIS को इनिशियलाइज़ करने के लिए मेरे डेटाबेस में।


3

मेरे पास एक ही मुद्दा था, मैं सिर्फ कमांड चलाता था

sudo apt-get install postgis

मैं Ubuntu 18.04 का उपयोग कर रहा था


बहुत बहुत धन्यवाद जिसने इसे मेरे लिए हल किया
इब्राहिम मोहम्मद

कोई बात नहीं :) आपका स्वागत है!
मुहम्मद फुजैल जुबरी

2

एक अन्य स्रोत जो समस्या का कारण था वह लापता पोस्टजीआईएस बंडल हो सकता है, इसे स्थापित मेनू में या बाद में आपके मामले में परिभाषित किया जा सकता है। इसके बाद, खुली खिड़कियां शुरू होती हैं, PostgreSQL के लिए एक एप्लीकेशन स्टैक बिल्डर शुरू होता है । फिर PostgreSQL का चयन करें , इसके साथ ही संभावित एप्लिकेशन लोड किए गए हैं। PostGIS बंडल के लिए आपको बस अपने ऑपरेटिंग सिस्टम (32- या 64bit) के लिए उपयुक्त एक्सटेंशन इंस्टॉल करने की आवश्यकता है, बस स्थानिक एक्सटेंशन के लिए निर्देशित करें ।

आखिर यहाँ सुझाए गए कदम:

  1. शुरू अनुप्रयोग ढेर बिल्डर
  2. स्थानिक एक्सटेंशन के लिए प्रत्यक्ष
  3. PostGIS बंडल स्थापित करें

अब आप CREATE EXTENSION postgis;अपने SQL क्वेरी में एक्सटेंशन को जोड़ सकते हैं ।


1

मुझे उसी समस्या का सामना करना पड़ा, मुझे लगता है कि समस्या यह है कि पैकेज postgis2_93 अपेक्षित स्थान पर स्थापित नहीं है क्योंकि postgresql उम्मीद करेगा। आप एक और रेपो का उपयोग करने की कोशिश कर सकते हैं, जो आपको सही जगह दे सकता है। या आप स्थान निर्दिष्ट करके मैन्युअल रूप से एक्सटेंशन जोड़ने के लिए खोज कर सकते हैं। मेरे मामले में, फ़ाइल /usr/pgsql-9.4/ में है


1

मैंने SLES 12 SP1 पर Postgis 2.X को स्थापित करते समय मेरा सबसे बुरा सपना देखा था। जो न तो रेपर रेपो में संगत पैकेज है

यहां बताया गया है कि 9.4.X पर चलने वाले मेरे Postgres सर्वर इंस्टेंस पर इसे कैसे हल किया जाता है

Prerequsite संकुल जो मैंने त्रुटियों के आधार पर PostGis से पहले स्थापित किया है

  1. प्रोज 4 डाउनलोड सोर्स कोल्ड, बिल्ड -> मेक इनस्टॉल
  2. जिपर रेपो जिपर एड्रेपो http://download.opensuse.org/repositories/Application:Geo/SLE_12_SP1_Backports/Application.Geo.repo जोड़कर गदल और जाइबसन स्थापित करें
  3. zypper gdal gdal-devel libjson-c-devel libjson स्थापित करता है

पोस्टगिस स्थापित करना

  • पोस्टगिस स्रोत कोड डाउनलोड करें ( http://download.osgeo.org/postgis/source/postgis-2.3.0rc1.tar.gz )

  • पोस्ट जीआईएस फोल्डर पर जाएं ।/configure --with-pgconfig = / usr / lib / postgresql94 / bin / pg_config --with-geosconfig = / usr / लोकल / बिन / जियोस-कॉन्फिगर स्थापित करें

अब अगर आपको गोटो पोस्टग्रेशन और एक्सटेंशन पोस्टगिस बनाना है; काम करेगा

कॉन्फ़िगर करते समय महत्वपूर्ण आपको pg-config path और geosconfig path को निर्दिष्ट करना चाहिए और आप "Raster के बिना" शामिल नहीं होंगे क्योंकि RASTER पोस्टगिस एक्सटेंशन बनाने में मुख्य भूमिका निभाता है


1

Ubuntu 16.04 के लिए यह कमांड चलाएँ:

sudo apt-get install postgis postgresql-9.6-postgis-2.3-scripts

ध्यान दें कि आपको दोनों पोस्टग्रैक्स्ल (मेरे मामले में 9.6) और पोस्टगिस (मेरे मामले में 2.3 ) के लिए अपना संस्करण संख्या निर्दिष्ट करना चाहिए ।


0

यदि आप काढ़ा का उपयोग कर रहे हैं, तो PostGIS की स्थापना रद्द करें और इसे पुनर्स्थापित करें। यह एक्सटेंशन फाइलें बनाएगा।


यह मेरे लिए काम नहीं किया है, हालांकि मैं उन्हें देखbrew ls --verbose postgis
डीपीएस

0

कुछ वितरण पर एक्सटेंशन पोस्टग्रैस्क्ल-कॉर्बिन पैकेज में पैक हो जाते हैं। यह निश्चित रूप से RedHat / CENOS पर सही है, जहां एक्सटेंशन पोस्टग्रैक्कल-कॉर्बिन में हैं, जहां xx पूर्ण स्टॉप के बिना मैगोर और माइनर रिलीज संख्या है (पोस्टग्रेजेस 9.5 के लिए पोस्टग्रेजेक 95)।


0

मेरे लिए, फेडोरा 25 और पीजी 9.5 का उपयोग करते हुए, जब मैंने निम्नलिखित बदलाव किए तो यह काम किया:

  • यम पोस्टगिस पैकेज स्थापित करें

    $ yum पोस्टगिस 2_95 स्थापित करें

  • पोस्टगिस स्क्रिप्ट .deb पैकेज डाउनलोड करें

  • इसे निकालें और निकाले गए usr / share / postgresql / 9.5 में निर्देशिका के कंट्राब और 'एक्सटेंशन' को अपने pgsql में एक ही पथ (शायद अनुमतियों को बदलते हुए) में कॉपी करें।

  • सर्वर को पुनरारंभ करें


0

मेरे मामले में (लिनक्स मिंट 18.1 सेरेना) मुझे डिफ़ॉल्ट रिपॉजिटरी से हटाना posgresql-9.5और postgisनव स्थापित करना पड़ा ।

sudo apt remove postgis*
sudo apt remove postgresql*

और PosgreSQL रिपॉजिटरी से संस्करण 9.6 स्थापित करें :

sudo apt install postgresql-9.6 postgresql-9.6-postgis-2.3 postgresql-9.6-postgis-2.3-scripts postgresql-contrib-9.6

मुझे यकीन नहीं है, वर्जन का गुम postgis.controlफाइल से कोई लेना-देना नहीं है। लेकिन मुझे वैसे भी 9.6 वर्जन चाहिए था।

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