स्थानिक रूप से सक्षम Postgres डेटाबेस


12

मैं एक स्थानिक रूप से सक्षम PostGIS डेटाबेस बनाने की कोशिश कर रहा हूं। मैं PostGIS प्रलेखन, http://postgis.net/docs/manual-1.5/ch02.html#id2648455 का अनुसरण कर रहा हूं ।

लघु संस्करण में, मैंने निष्पादित किया,

createdb yourdatabase
createlang plpgsql yourdatabase

लेकिन मैंने पिछली तीन आज्ञाओं को नहीं निभाया,

psql -d yourdatabase -f postgis.sql
psql -d yourdatabase -f postgis_comments.sql
psql -d yourdatabase -f spatial_ref_sys.sql

क्या मेरा डेटाबेस अभी भी स्थानिक रूप से सक्षम है? यदि नहीं, तो क्या आप मुझे बता सकते हैं कि ये .sql फाइलें कहां स्थित हैं, इसलिए मैं उन अंतिम कमांड्स को निष्पादित कर सकता हूं, क्योंकि मुझे निम्नलिखित त्रुटि मिल रही है,

postgis.sql: No such file or directory

मैं Ubuntu 12.04 का उपयोग कर रहा हूं


2
अपने पोस्टगिस को खोजने के लिए। एसक्यूएल फ़ाइल चलाएं (बैश से उद्धरण के बिना) पोस्टगिस.सक्कल का पता लगाएं।
केल्सो

जवाबों:


14

जबकि इस बिंदु पर आपका डेटाबेस तकनीकी रूप से स्थानिक है, आप केवल इनबिल्ट पीजी ज्यामिति प्रकारों के साथ काम कर रहे होंगे।

अपनी स्थापना को पूरा करने के लिए, आपको सुझाए अनुसार स्क्रिप्ट चलाने की आवश्यकता है।

आप उन्हें अपनी /usr/share/postgresql/[version number]/contrib/पोस्टगिस उप-निर्देशिका में पा सकते हैं ।

आपको निम्नलिखित देखना चाहिए:

legacy_minimal.sql    postgis_upgrade_20_minor.sql    spatial_ref_sys.sql
legacy.sql            raster_comments.sql             topology_comments.sql
postgis_comments.sql  rtpostgis_legacy.sql            uninstall_legacy.sql
postgis_restore.pl    rtpostgis.sql                   uninstall_postgis.sql
postgis.sql           rtpostgis_upgrade_20_minor.sql  uninstall_rtpostgis.sql

18

यदि आपके पास Ubuntu 12.04 है, तो आपके पास PostgreSQL 9.1 होना चाहिए, जो PostGIS 2.0 के लिए चीजों को भयानक बनाता है, जहां आप नए EXTENSION ढांचे का उपयोग कर सकते हैं। किसी डेटाबेस को स्थानिक रूप से सक्षम करने के लिए, SQL विंडो से DDL का उपयोग करें:

CREATE EXTENSION postgis;

यहाँ Ubuntu 12.04 के लिए स्रोत से PostGIS 2.0 स्थापित करने के लिए अन्य विवरण देखें ।


यदि आप PostGIS 1.5 का उपयोग कर रहे हैं, तो आपको शेल से चलाए जाने वाले "mydb" पर एनबलर स्क्रिप्ट की आवश्यकता होगी:

sudo -u postgres createdb mydb
sudo -u postgres psql -d mydb -f /usr/share/postgresql/9.1/contrib/postgis-1.5/postgis.sql
sudo -u postgres psql -d mydb -f /usr/share/postgresql/9.1/contrib/postgis-1.5/spatial_ref_sys.sql
sudo -u postgres psql -d mydb -f /usr/share/postgresql/9.1/contrib/postgis-1.5/postgis_comments.sql

मैं वास्तव में /usr/share/postgresql/8.4/contrib/ मिला और वहां .sql फाइलें
मिलीं

2
ST_Transform जैसे ज्यामिति फ़ंक्शंस का उपयोग करने और ज्यामिति कॉलम बनाने के लिए उपयोगकर्ता को PUBLIC के लिए spatial_ref_sys पर GRANT SELECT ON की आवश्यकता होगी; <मेरे वांछित उपयोगकर्ता> के लिए ज्यामिति_ कॉलम पर सभी प्राप्त करें;
geekQ

1
आप SELECT postgis_full_version();बाद में यह भी जांच सकते हैं कि एक डेटाबेस स्थानिक रूप से सक्षम है या नहीं।
XåpplI'-I0llwlg'I -
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.