PostGIS डेटाबेस सेट करना और इसे QGIS में विंडोज पर खोलना?


15

मैंने QGIS के साथ उपयोगकर्ताओं द्वारा एक्सेस किए जाने के लिए PostGIS डेटाबेस स्थापित करने के लिए मैनुअल का पालन करने की कोशिश की है, लेकिन फिलहाल मैं प्रगति के लिए पर्याप्त समझ नहीं पा रहा हूं?

मेरी स्थिति; मैं एक प्रशिक्षु हूं जो हरे रंग की वस्तुओं (जैसे कि पेड़) के डिजिटलीकरण के लिए पोस्टजीआईएस डेटाबेस बनाने और प्रश्नों को चलाने के लिए जिम्मेदार है - जैसे सड़क की सूची को जोड़ना, छवि फ़ाइलों के साथ, विशेषता तालिका में।

मेरे पास "आकार-प्रकार के कंकाल" हैं (वर्तमान में कोई वस्तुओं के साथ खाली नहीं है, बस विशेषता फ्रेम है "जहां वर्तमान और भविष्य के भू-संदर्भित ऑब्जेक्ट्स (प्रत्येक प्रकार के लिए एक अलग आकार-प्रकार) चिपकाए / बनाए जाएंगे)। मुझे विश्वास है कि मैं उन कंकालों के आकार का आयात कर सकता हूं। डेटाबेस?

स्थिति;

हम प्रत्येक फ़ाइल के लिए बैकअप सर्वर के साथ अपने स्वयं के लैन और इंटरनेट कनेक्शन के साथ एक अलग इमारत में काम करते हैं। इसलिए हमारे पास स्थानीय फ़ाइल पहुंच और फाइलें हैं जो हम इंटरनेट कनेक्शन पर साझा करते हैं

डेटाबेस का सेटअप एक प्रशासक द्वारा रिमोट एक्सेस के माध्यम से किया गया है, PostGIS और PostgreSQL (postgresql-9.6.2-3-windows-x64 & postgis-बंडल-p9696x64-setup-2.3.2 की नवीनतम .exe निष्पादन फ़ाइलों का उपयोग करके। -1) मेरे 64-बिट मशीन के लिए। व्यवस्थापक ने मुझे लॉगिन जानकारी के साथ एक पाठ फ़ाइल प्रदान की। जब से वे उबंटू के साथ व्यवहार करते हैं, यहां प्रशिक्षण मैनुअल बहुत भ्रमित हैं।

मैं फंस गया हूं क्योंकि मुझे नहीं पता कि मैंने नीचे लिखी गई लॉगिन जानकारी का उपयोग कहां किया है? मुझे लगता है कि मुझे pgAdmin का उपयोग करने की आवश्यकता है?


यह मैं विंडोज पर PostGIS कैसे स्थापित करता हूं - एक साधारण स्थापना get.enterprisedb.com/docs/… में फिर QGIS आपके द्वारा सेट किए गए उपयोगकर्ता नाम और पासवर्ड के साथ आसानी से जुड़ जाएगा।
Mapperz

1
मैं निश्चित रूप से आपके डेटाबेस के साथ काम करने के लिए pgAdmin 3 स्थापित करने की सलाह दूंगा। अभी एक pgAdmin4 है, आप इसे उसी समय इंस्टॉल करने के लिए भी देख सकते हैं, जिसे आप पसंद करते हैं।
मार्टिन ह्यूगी

रुको, तो QGIS में कहां जाते हैं, और स्टैकबिल्डर में मुझे कौन सी फाइलें स्थापित करनी चाहिए? संपादित करें nvm: अब यह पाया गया है कि मुझे कौन सी स्थानीय होस्ट और सेवा प्रविष्टियाँ मिलनी चाहिए।
थंडरस्पार्क

पोस्टगिस आवश्यक रूप से 'सर्वर' को स्थापित करेगा यह डेटाबेस के काम करने का तरीका है - आप तब सर्वर (लोकलहोस्ट) के माध्यम से 'लाइव' को जोड़ने के लिए QGIS का उपयोग करते हैं।
Mapperz

जवाबों:


24

ऐसा लगता है जैसे आपके व्यवस्थापक ने डेटाबेस को सफलतापूर्वक स्थापित किया है और आपको आवश्यक विवरण प्रदान करता है। उन्होंने इंस्टॉल के दौरान पोस्टजीआईएस को भी कॉन्फ़िगर किया हो सकता है, लेकिन यदि नहीं, तो आप इन चरणों के माध्यम से जा सकते हैं।

पहले अपने व्यवस्थापक से pgAdmin स्थापित करने के लिए कहें, इससे आप ग्राफिकल इंटरफ़ेस के साथ अपने PostgreSQL डेटाबेस का उपयोग कर सकेंगे।

https://www.pgadmin.org/download/windows.php

PgAdmin खोलें

यदि आपका PostgreSQL स्थापित किया गया है;

  • आपके कंप्यूटर पर यह लोकलहोस्ट के रूप में दिखाई देगा, आपको इसे कनेक्ट करने के लिए 'पोस्टग्रेक्यूएल (संस्करण संख्या) (स्थानीयहोस्ट: 5432)' पर डबल क्लिक करने में सक्षम होना चाहिए।

यहाँ छवि विवरण दर्ज करें

  • यदि यह नेटवर्क पर स्थापित किया गया है, तो आपको अपने व्यवस्थापक को होस्ट पता (यदि आपके पास पहले से ही नहीं है) को बताने की आवश्यकता होगी, तो आपको फ़ाइल> सर्वर जोड़ें और फ़ील्ड भरने की आवश्यकता होगी;

यहाँ छवि विवरण दर्ज करें

एक बार जुड़े जाने के लिए Edit > New Object > New Database

उसे एक नाम दे दो। यह आपकी सर्वर सूची में दिखाई देगा।

इससे कनेक्ट करने के लिए डबल-क्लिक करें। Extensionsयह देखने के लिए जांचें कि क्या यह सूचीबद्ध है postgis

अगर नहीं;

SQL आइकन पर क्लिक करके SQL विंडो खोलें

यहाँ छवि विवरण दर्ज करें

और में टाइप करें

CREATE EXTENSION PostGIS

'एक्सेक्यूट क्वेरी' दबाएँ - यह आइकन यहाँ छवि विवरण दर्ज करें

सूची में डेटाबेस पर राइट-क्लिक करें और डिस्कनेक्ट करें, और फिर पुन: कनेक्ट करें। एक्सटेंशन अब postgisसूचीबद्ध होना चाहिए ।

आप एक नया समूह भूमिका सेट कर सकते हैं, और इस बिंदु पर लॉगिन भूमिका निभा सकते हैं, ऐसा लगता है जैसे आपको सुरक्षा जरूरतों और नेटवर्क पर अपने उपयोगकर्ताओं को देना चाहिए।

या यदि आप इसे परीक्षण करना चाहते हैं तो आप डिफ़ॉल्ट भूमिका के साथ जारी रख सकते हैं postgres

व्यवस्थापक और उपयोगकर्ता जैसे विभिन्न अनुमतियों के लिए अलग-अलग समूह स्थापित किए जा सकते हैं। उपयोगकर्ता लॉगिन को तब सेट किया जा सकता है और जो कुछ भी समूह उपयोगकर्ता को देने के लिए अनुमति स्तर फिट बैठता है, या आप को देना चाहते हैं, या आप व्यवस्थापक को सभी तालिकाओं तक पहुंच दे सकते हैं, और केवल कुछ उपयोगकर्ताओं आदि के लिए आपको व्यवस्थापक समूह की आवश्यकता नहीं हो सकती है।

SQL विंडो खोलें और इन क्वेरी को निष्पादित करें;

CREATE ROLE user_group_name NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;
CREATE ROLE admin_group_name NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;

GRANT user_group_name TO admin_group_name

GRANT ALL ON DATABASE database_name TO admin_group_name;

एक व्यवस्थापक लॉगिन सेट करें (पोस्टग्रैजर्स / सुपरयुसर के रूप में लॉग इन करें)

CREATE ROLE admin_name LOGIN PASSWORD 'their_password' NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;
GRANT admin_group_name TO admin_name;

एक उपयोगकर्ता लॉगिन सेट करें (लॉग इन द पोस्टग्रेज / सुपरसुसर)

CREATE ROLE user_name LOGIN PASSWORD 'their_password' NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION;
GRANT users_group_name TO user_name;

QGIS खोलें। एक नई परियोजना शुरू करें।

बाएं हाथ के टूलबार में 'Add PostGIS लेयर' आइकन पर क्लिक करें।

यहाँ छवि विवरण दर्ज करें

'नया' कनेक्शन पर क्लिक करें, और ऊपर के रूप में कनेक्शन विवरण दर्ज करें (यदि आपका डेटाबेस स्थानीय है तो होस्ट बस है localhost)।

आप इस बिंदु पर कनेक्शन का परीक्षण कर सकते हैं। यदि आप उपयोगकर्ता नाम और पासवर्ड के आधार पर 'सेव' बॉक्सों की जाँच करते हैं तो यह आपकी प्रोफाइल में आपकी साख जमा कर देगा जिससे आपको हर बार प्रवेश करने की आवश्यकता नहीं है। आपकी सुरक्षा जरूरतों के आधार पर आप तक।

Ok दबाएं और 'PostGIS टेबल विंडो जोड़ें' को बंद करें

फिर Database > DB Manager > DB Manager (हाल ही में QGIS संस्करणों में DB प्रबंधक को मानक के रूप में स्थापित किया गया है, पहले के संस्करणों को आपको DB प्रबंधक प्लगइन को स्थापित करने की आवश्यकता होगी)

PostGIS का चयन करें। डिफ़ॉल्ट सार्वजनिक स्कीमा दिखाया जाएगा। ऐसा लगता है जैसे आपको जनता का उपयोग करने के बजाय एक नया स्कीमा बनाना चाहिए।

स्कीमा> स्कीमा बनाएँ - इसे एक नाम दें ( no_spaces_or_use_underscores)

एक बार बना लेने के बाद, आप वापस pgAdmin पर जा सकते हैं, डिस्कनेक्ट कर सकते हैं, फिर से कनेक्ट कर सकते हैं। नया स्कीमा अब होना चाहिए।

डेटाबेस में एक तालिका में एक आकृति को अपलोड करने के लिए QGIS DB प्रबंधक पर वापस जाएं।

नीचे तीर पर क्लिक करें 'आयात परत / फ़ाइल' उस आकृति को ब्राउज़ करें जिसे आप आयात करना चाहते हैं। ब्राउज़ खोलने के लिए `...` `आइकन पर क्लिक करें।

तालिका को एक नाम दें ( again_no_spaces_or_use_underscores)

चुनते हैं Primary key

चुनते हैं Geometry Column

SRIDसीआरएस कोड चुनें और दर्ज करें

अभी के लिए और सब कुछ छोड़ दो और OK

यदि यह एक बड़ा डेटासेट है, तो इसमें कुछ समय लग सकता है, विशेष रूप से एक नेटवर्क / इंटरनेट कनेक्शन पर

फिर से आप pgAdmin पर वापस जा सकते हैं, इस समय ताज़ा कर सकते हैं, और नई तालिका दिखाई देगी Tables

यदि आपने समूह भूमिकाएं और उपयोगकर्ता स्थापित किए हैं, तो आपको स्कीमा तक पहुंच प्रदान करने की आवश्यकता होगी, उदाहरण के लिए;

GRANT ALL ON SCHEMA schema_name TO admin_group_name;
GRANT USAGE ON SCHEMA schema_name TO user_group_name;

वापस QGIS और 'PostGIS परत जोड़ें'। इस बार कनेक्ट का चयन करें। स्कीमा खोलें और तालिका को हाइलाइट करें और 'जोड़ें' पर क्लिक करें और यह आपके प्रोजेक्ट स्पेस में खुल जाएगा।


ऐसा लगता है कि उन्होंने PQadmin 4 स्थापित किया था, मैं पासवर्ड प्रदान कर रहा हूं जब प्रोग्राम इसके लिए पूछता है, लेकिन मुझे पता है: होस्ट नाम "पोस्टग्रैजेस // * सामुदायिक नाम" का अनुवाद करने के लिए नहीं कर सकता: अज्ञात सर्वर त्रुटि "। तो मुझे यहां क्या करना चाहिए, ध्यान रखें कि मैं PQadmin4 के साथ काम कर रहा हूं और केवल एक सर्वर PostGre SQL 9.6 है। इसलिए मैं मान रहा हूँ कि यह पोस्टग्रे क्यूएसएल सर्वर है जो उन्होंने स्थापित किया था, लेकिन उन्होंने पते के विन्यास के साथ कुछ गलत किया हो सकता है। तो क्या मुझे उन्हें यहां सूचित करने की आवश्यकता है या क्या मैं कुछ गलत कर रहा हूं? * = सेंसर।
थंडरस्पार्क

1
मेजबान नाम के रूप में 'लोकलहोस्ट' को आज़माएं, बस उसे या बाहर करने के लिए। फिर यदि नहीं, तो अपने व्यवस्थापक से उस पथ के लिए पूछें जहां नेटवर्क पर पोस्टग्रेज हैं, वे आपको यह देने में सक्षम होना चाहिए। यह शायद सिंटैक्स है, या पते में कुछ याद नहीं है।
मार्टिन ह्यूगी

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

ओके यह मार्टिन का काम करता है, क्या आप बाकी को जोड़ सकते हैं कि यहां काम करने वाले समूह के लिए डेटाबेस कैसे बनाया जाए?
थंडरस्पार्क

जल्दी से कुछ स्क्रिप्ट्स जोड़ीं, मुझे अपने लंच ब्रेक का इंतजार करना पड़ा, इसलिए थोड़ी हड़बड़ी हुई। उन्हें काम करना चाहिए।
मार्टिन ह्यूगी

2

ऐसा लगता है कि आपका प्रोजेक्ट पोस्टग्रेज / पोस्टगिस की पोर्टेबल स्थापना पर पर्याप्त काम करेगा। मैंने कुछ समय पहले अपने छात्रों के लिए ऐसा किया था, ताकि वे एक usb स्टिक पर पोस्टग्रेज़ल फ़ोल्डर को कॉपी कर सकें और इसे अपने विंडोज़ पीसी पर इस्तेमाल कर सकें:

  1. एक ज़िप फ़ाइल के रूप में postgresql डाउनलोड करें
  2. इसे खोल दो
  3. डाउनलोड PostGIS (postgis-bundle-pg96-2.3.1x32.zip या 64), आपके सिस्टम के अनुसार
  4. इसे अनज़िप करें और इसे पोस्टग्रैसिकल फ़ोल्डर में कॉपी करें
  5. एक पोर्टेबल संस्करण के रूप में पोस्टग्रेज को "इंस्टॉल" करने के लिए इस स्पष्टीकरण का उपयोग करें: http://www.postgresonline.com/journal/archives/172-Starting-PostgreSQL-in-windows-without-install.html
  6. वैकल्पिक रूप से pg_hba.conf को बदलें और "सभी 127.0.0.1/32 ट्रस्ट को होस्ट करें" ओवरराइड करें - यह पासवर्ड की जांच किए बिना आपके पीसी से डेटाबेस तक पहुंच की अनुमति देता है, जो इस मामले में ठीक है लेकिन यह उत्पादन वातावरण में एक नहीं है
  7. Pgadmin3 का उपयोग कर डेटाबेस से कनेक्ट करें
  8. एक नया डेटाबेस बनाएं और "क्रिएट एक्सटेंस पोस्टगिस" पर अमल करें;

अब आपको postgesql / postgis के साथ काम करने और अपने पीसी पर db को एक्सेस करने में सक्षम होना चाहिए। कृपया ध्यान रखें कि यह एक त्वरित और गंदा समाधान है, जो शैक्षिक उद्देश्यों के लिए काम करता है, लेकिन उत्पादन / नेटवर्क वातावरण में नहीं।

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