পোস্টজিআইএসে কীভাবে একটি নতুন 'গিস' ডাটাবেস তৈরি করবেন?


24

আমি পোস্টজিআইএসে একটি নতুন ডাটাবেস তৈরি করতে চাই, সুতরাং বর্তমান ডাটাবেসটি ব্যবহার করার সময় আমি এতে স্টাফ লোড করতে পারি। ডক্স অনুসারে

পোস্টজিআইএসের কিছু প্যাকেজড বিতরণ (বিশেষত উইন 32 ইনস্টলারের জন্য পোস্টজিআইএস> = 1.1.5) পোস্টজিআইএস ফাংশনকে টেম্পলেট_পোস্টগিস নামে একটি টেম্পলেট ডাটাবেসে লোড করে। যদি টেম্পলেট_পোস্টগিস ডাটাবেসটি আপনার পোস্টগ্রিএসকিউএল ইনস্টলেশনতে বিদ্যমান থাকে তবে ব্যবহারকারী এবং / বা অ্যাপ্লিকেশনগুলির পক্ষে একক কমান্ড ব্যবহার করে স্থানিক-সক্ষম ডেটাবেস তৈরি করা সম্ভব।

আমার ক্ষেত্রে এটি এমনটি বলে মনে হয় না:

$ createdb -T template_postgis my_spatial_db
createdb: database creation failed: ERROR:  template database "template_postgis" does not exist

অতীতে আমি প্রাথমিক gisডাটাবেস অনুলিপি করে , তারপর সমস্ত টেবিলের বিষয়বস্তু মুছে ফেলার সাথে গোলমাল করেছি। আরও ভাল উপায় থাকতে হবে। আপনি যদি দুর্ঘটনাক্রমে এটিকে ফেলে দেন তবে আপনি কী করবেন?


উত্তর:


42

আপনার কোন সংস্করণ PostGISব্যবহার করা হচ্ছে তা আমি জানি না তবে>> 2.0আমি প্রথমে লগইন করে ব্যবহার করেছি psql:

psql -U postgres

তারপরে আমি একটি ডাটাবেস তৈরি করি:

CREATE DATABASE example_gis;

তারপরে আমি এই ডাটাবেসে সরে যাই:

\connect example_gis;

এবং তারপরে আমি প্রশংসা চালাই:

CREATE EXTENSION postgis;

এটি এই ডেটাবেজে সমস্ত স্থানিক ক্রিয়াকলাপ এবং অবজেক্টের ধরণ তৈরি করে।  


আমার সিস্টেমে, আমার CREATE EXTENSION POSTGISচেয়ে সমস্ত উচ্চতর কেস লিখতে হবে CREATE EXTENSION postgis
এসআইস্লাম

5

@ নভেগিসিসের লিঙ্কটি অনুসরণ করে, এটি পোস্টগিস 1.5 নিয়ে আমার জন্য কাজ করেছে:

db=gis
sudo -su postgres <<EOF
createdb --encoding=UTF8 --owner=ubuntu $db
psql -d $db -f /usr/share/postgresql/9.1/contrib/postgis-1.5/postgis.sql
psql -d $db -f /usr/share/postgresql/9.1/contrib/postgis-1.5/spatial_ref_sys.sql
psql -d $db -f /usr/share/postgresql/9.1/contrib/postgis_comments.sql
psql -d $db -c "GRANT SELECT ON spatial_ref_sys TO PUBLIC;"
psql -d $db -c "GRANT ALL ON geometry_columns TO ubuntu;"
psql -d $db -c 'create extension hstore;'
EOF

(লিঙ্কযুক্ত নির্দেশাবলী 'hstore' এক্সটেনশন অন্তর্ভুক্ত না।)


2

আপনার কনসোলে "টেম্পলেট_পোস্টগিস" তৈরি করা উচিত। সমস্ত ত্রুটি কনসোলে প্রদর্শিত হয়।

আপনি এই নির্দেশাবলীটি ব্যবহার করতে পারেন: http://linfiniti.com/2012/05/installing-postgis-2-0-on-ubuntu/ আপনি যদি "টেমপ্লেট_পোস্টগিস" তৈরি করতে চান তবে।

উদাহরণস্বরূপ, আমি করি:

//install postgis
su oleg
sudo apt-add-repository ppa:sharpie/for-science  
sudo apt-add-repository ppa:sharpie/postgis-nightly
sudo apt-get update
sudo apt-get install postgresql-9.1-postgis

// create template
sudo su
su postgres
createdb -E UTF8 template_postgis2
createlang -d template_postgis2 plpgsql
psql -d postgres -c "UPDATE pg_database SET datistemplate='true' WHERE datname='template_postgis2'"

psql -d template_postgis2 -f /usr/share/postgresql/9.1/contrib/postgis-2.1/postgis.sql
psql -d template_postgis2 -f /usr/share/postgresql/9.1/contrib/postgis-2.1/rtpostgis.sql
psql -d template_postgis2 -c "GRANT ALL ON geometry_columns TO PUBLIC;"
psql -d template_postgis2 -c "GRANT ALL ON geography_columns TO PUBLIC;"
psql -d template_postgis2 -c "GRANT ALL ON spatial_ref_sys TO PUBLIC;"
createdb osm -T template_postgis2

আমি ত্রুটিযুক্ত পোস্টগিজ ইনস্টল করার সময় আমি এই বার্তাটি পেয়েছি


কোনও "rtpostgis.sql" ফাইল বাদে সমস্ত পোস্টগ্রিজ 1.5 নিয়ে কাজ করেছে। এটা কি গুরুত্বপূর্ণ?
স্টিভ বেনেট

আমি মনে করি, পোস্টগিস 1.5.০ সেরা উপায় the লিঙ্ক - অফিসিয়াল ডকুমেন্টেশন
নভেগিসিস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.