PostGIS स्थापना टेम्पलेट_पॉस्टगिस क्यों नहीं बनाता है?


36

मैं PostgreSQL और PostGIS की स्थापना के लिए यह मार्ग गया था:

अब जब मैं pgAdmin लॉन्च करता हूं और एक नया PostGIS डेटाबेस बनाने की कोशिश करता हूं, तो टेम्पलेट में उपयोग के लिए कोई template_postgis नहीं है।


मैंने एक और रूट पर जाने की कोशिश की है, जो कि पोस्टग्रेक्यूएल से सीधे पोस्टग्रेक्यूएल पैकेज डाउनलोड कर रहा है। यह सर्वर को स्थापित करता है और आपको PostGIS को डाउनलोड और इंस्टॉल करने के लिए StackBuilder का उपयोग करने की अनुमति देता है। यह मेरी समस्या को ठीक नहीं करता है।

जवाबों:


32

यदि आप स्वचालित रूप से वहां नहीं हैं, तो आप आसानी से टेम्पलेट बना सकते हैं। यहाँ ubuntu के लिए एक विवरण है: http://obsessivecoder.com/2010/02/01/installing-postgresql-8-4-postgis-1-4-1----grout-1-0-3-on-ubuntu -9-10-कर्म-कोअला /

यह आवश्यक हिस्सा है:

sudo su postgres
createdb template_postgis
createlang plpgsql template_postgis
psql -d template_postgis -f /usr/share/postgresql/8.4/contrib/postgis.sql
psql -d template_postgis -f /usr/share/postgresql/8.4/contrib/spatial_ref_sys.sql

सटीक पैंगोलिन में:

sudo su postgres
createdb template_postgis
psql -d template_postgis -f /usr/share/postgresql/9.1/contrib/postgis-1.5/postgis.sql
psql -d template_postgis -f /usr/share/postgresql/9.1/contrib/postgis-1.5/spatial_ref_sys.sql

अजीब .. कदम पर 'createlang plpgsql पोस्टगिस्टेमप्लेट' मुझे एक $ "plpgsql" डेटाबेस में पहले से ही "पोस्टगिस्टेमप्लेट" में स्थापित है ... और फिर अगले चरण पर, psql: कमांड मिली
माइकल मार्किटा

अपडेट - वहाँ / usr / शेयर / पथ में कोई पोस्टगिस निर्देशिका नहीं है
माइकल मार्किटा

तब मुझे लगता है कि यह OSX पर कहीं और छिपा हुआ है। क्या आपने फाइलों को खोजने की कोशिश की है?
अंडरडार्क

फ़ाइलें मिलीं, कोड की सभी पंक्तियाँ त्रुटियों के बिना चलती हैं। लेकिन pgAdmin3 अभी भी टेम्पलेट नहीं दिखाता है ... Hrmm .. मेरे मैक को पुनः आरंभ करने के लिए यह देखने के लिए कि क्या कुछ भी बदलेगा, लेकिन फिर भी नाडा। (अजीब ... मैंने शेर पर स्विच करने से पहले अपने मैक पर यह काम किया था)
माइकल मार्किटा

टेम्पलेट बनाने के लिए आपने किस उपयोगकर्ता का उपयोग किया और pgAdmin में आप किस उपयोगकर्ता का उपयोग कर रहे हैं?
UnderDark

29

संस्करण 2 से पोस्टगिस को एक्सटेंशन सिस्टम का उपयोग करके सक्षम किया गया है। किसी डेटाबेस को स्थानिक रूप से सक्षम करने के लिए, अपने डेटाबेस में लॉग इन करें और फिर:

 CREATE EXTENSION postgis;
 CREATE EXTENSION postgis_topology;

स्रोत: http://postgis.net/docs/postgis_installation.html

नोट: केवल SUPERUSERSभूमिकाओं को बनाने की क्षमता हैEXTENSIONS


pgAdmin4 से: डेटाबेस >> {select db} >> एक्सटेंशन >>
मैट विल्की

6

मेरे पास समान मुद्दे थे और इसमें पाए गए पैकेज को स्थापित करना समाप्त हो गया:

entreprisedb.com

आप इंस्टालेशन चरण के दौरान पोस्टगिस स्थापित करने का चयन कर सकते हैं या 'एप्लीकेशन स्टैक बिल्डर' को बाद में कॉल कर सकते हैं। यदि इंस्टॉलेशन काम नहीं करता है, तो पोस्टगीस इंस्टॉलर को डाउनलोड करने के लिए एक अन्य फ़ोल्डर का चयन करें (जिसे edb_postgis_1_5_pg91.app.zip जैसा कुछ कहा जाएगा)। ज़िप को अनपैक करें और इंस्टॉल करें। यदि यह काम नहीं करता है तो आप फिर से रिबूट और कोशिश करना चाहते हैं। PgAdmin III में template_postgis दिखाई देना चाहिए।


3

सवाल पुराना हो सकता है लेकिन मैं ओएस एक्स लायन पर उसी त्रुटि में भाग गया। शायद मेरा जवाब किसी अन्य उपयोगकर्ता की मदद कर सकता है।

"स्टैक बिल्डर" के साथ PostGIS की डिफ़ॉल्ट स्थापना विफल हो जाएगी। लेकिन पहले इंस्टॉलेशन स्टेप के बाद, आप PostGIS के लिए डाउनलोड फोल्डर चुन सकते हैं। बस इसे अपने डेस्कटॉप पर डाउनलोड करें और इसे हाथ से खोल दें। फ़ाइल को डबल-क्लिक करके, यह ठीक से स्थापित हो जाएगा। पोस्टगिस_टेमप्लेट अब pgAdmin में उपलब्ध है।


1

PostGIS प्रलेखन के अनुसार, केवल

PostGIS के कुछ पैकेज्ड डिस्ट्रीब्यूशन ... PostGIS फंक्शंस को template_postgis नामक टेम्प्लेट डेटाबेस में लोड करते हैं।

इसलिए, हर वितरण के साथ नहीं आता है template_postgis

जैसा कि मौजूदा जवाबों में कहा गया है, PostGIS 2.x में, सुपरसुसर नाम से एक नियमित डेटाबेस template_postgis बनाकर और फिर आवश्यक और वैकल्पिक एक्सटेंशन (जैसे pgRout) बनाकर टेम्पलेट को स्वयं बनाना या अनुकूलित करना आसान है । प्रति पोस्टगिस प्रलेखन:

sudo su postgres
createdb template_postgis

psql -d template_postgis -c "CREATE EXTENSION postgis;"
psql -d template_postgis -c "CREATE EXTENSION postgis_topology;"

-- if you built with sfcgal support --
psql -d template_postgis -c "CREATE EXTENSION postgis_sfcgal;"

इसके अलावा, आप स्थापना करके एक टेम्पलेट डेटाबेस के रूप में इस नव निर्मित डेटाबेस चिह्नित कर सकते हैं datistemplateप्रणाली तालिका में झंडा pg_databaseलिए ture

psql -d template_postgis -c "UPDATE pg_database SET datistemplate = 'true' WHERE datname = 'template_postgis';"

यह, उदाहरण के लिए, टेम्प्लेट डेटाबेस को गलती से या अन्य उपयोगकर्ताओं या स्वयं द्वारा बदल दिया जाने से रोकता है। (यदि आप टेम्प्लेट में परिवर्तन करना चाहते हैं, तो आपको ध्वज को झूठे पर सेट करना होगा।)

फिर आप टेम्पलेट में जो भी डालते हैं, उसके आधार पर आप स्थानिक डेटाबेस बना सकते हैं:

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