পোস্টজিআইএস টেবিলটির নতুন নামকরণ এবং জিও সার্ভার আপডেট করবেন?


9

আমি আমার পোস্টজিআইএস টেবিলগুলির একটির নাম পরিবর্তন করতে চাই। যাইহোক, আমি যখন একটি সাধারণ প্রয়োগ করে এটি করি

ALTER TABLE old_name RENAME TO new_name;

স্থানীয় ডেটা, যেমনটি আমি এটি বুঝতে পেরেছি, নতুন নামের সাথে আপডেট হয়নি। প্রথমত, এই রেফারেন্সগুলি ফাংশনটি চালিয়ে স্থির করা যেতে পারে:

SELECT probe_geometry_columns()

এর পরে কি টেবিলটি নিজেই ঠিক আছে? নাকি অন্যান্য ব্যবস্থাও নেওয়া উচিত? দ্বিতীয়ত, আমি কীভাবে জিও সার্ভারকে আপডেট করব যাতে এটি এই নতুন সারণীটি খুঁজে পায়? এখন পর্যন্ত, যদি আমি উপরের কমান্ডগুলি চালিত করি এবং নতুন নামটি দেখানোর জন্য জিও সার্ভারে স্তর তথ্য সম্পাদনা করি ... আমি এখনও একটি ত্রুটি পেয়েছি (জিও সার্ভার এখনও পুরানো নাম অনুসারে এটি সন্ধান করার চেষ্টা করে)। ঠিক ঠিক, জিও সার্ভারে স্তরটির নামটি কোথায় পরিবর্তন করা উচিত?

উত্তর:


4

টেবিলটির নতুন নামকরণ করতে আপনাকে দুটি জায়গার মেটাডেটাতে নাম পরিবর্তন করতে হবে। প্রথমে পোস্টজিআইএস-এ, তারপরে জিওসর সার্ভারে।

পোস্টজিআইএস এক পরিবর্তন করতে, আপনি সরাসরি জ্যামিতি_কলামগুলি আপডেট করতে পারেন। যদিও প্রোব_জ্যামিত্রিগুলিতে জ্যামিতি কলামগুলিতে সেই প্রবেশটি সন্নিবেশ করানোর প্রভাব পড়বে, তবুও এটি সমস্ত টেবিলের স্কিমাটি নিখরচায় কোনও অনুপস্থিত জ্যামিতি কলামের এন্ট্রি প্রবেশ করানোর প্রভাব ফেলবে। আপনার যদি অনেকগুলি টেবিল থাকে তবে এটি ব্যয়বহুল হতে পারে, তবে কেন কেবল জ্যামিতি_কলামগুলি সারণিটি সরাসরি আপডেট করবেন না?

জিওসিভার আপডেট করার জন্য আপনার কাছে বিভিন্ন বিকল্প রয়েছে। অবশ্যই আপনি এটি জিআইআই এর মাধ্যমে ম্যানুয়ালি করতে পারেন তবে আমার মনে হয় আপনি এটিকে স্বয়ংক্রিয় করতে চান। একটি শেল স্ক্রিপ্ট লেখা যা জিওসভার ইনস্টলেশন ফোল্ডারে কনফিগার ফাইলগুলিকে সম্পাদনা করে এবং জিওসিভার পুনরায় চালু করে, তবে এটি কাজ করার দীর্ঘ পথ way আমি আপনাকে জিওসিভার রিস্ট কনফিগার এপিআই ব্যবহার করার পরামর্শ দিচ্ছি যা আপনাকে রিস্টফুল কলগুলির মাধ্যমে স্তর কনফিগারগুলি ম্যানিপুলেট করতে দেয় ।

হালনাগাদ:

"জ্যামিতি কলামগুলি আপডেট করুন" নিম্নলিখিত ক্ষেত্রে অবশ্যই সুস্পষ্ট না হলে:

UPDATE geometry_columns set f_table_name = 'my_new_table_name' where f_table_name = 'my_old_table_name';

8 বছর (!!!) পরে (2018) আপডেট করুন:

নীচে উল্লিখিত কিছু লোকের মতো, পোস্টজিআইএস ২.০ এর পরে, মেটাডেটা টেবিলগুলি ALTER স্টেটমেন্টের পরে স্বয়ংক্রিয়ভাবে আপডেট হয়।


আমার অজ্ঞতা ক্ষমা করুন তবে আমি পোস্টজিআইএস-এ খুব নতুন। আমি জ্যামিতি_কলামগুলি ঠিক কীভাবে আপডেট করব? আমি কি ঠিক বুঝতে পেরেছি যে প্রোব_ ফাংশনটি চালানো (কোনও পরামিতি ছাড়াই) একই কাজ করে?
মিমো

1
প্রোব_জ্যামিতি_সামগ্রীগুলি trac.osgeo.org/postgis/changeset/7548 থেকে বাস্তবায়নটি দেখুন এটি ডিবিতে প্রতিটি টেবিলের মধ্য দিয়ে চলছে, স্কিমার "জ্যামিতি টাইপ " স্ট্রিং রয়েছে কিনা তা সন্ধান করছে এবং প্রয়োজনীয় এন্ট্রি উপস্থিত না থাকলে একটি নতুন রেকর্ড সন্নিবেশ করানো হচ্ছে জ্যামিতি_কলামগুলিতে। তবুও এতিম রেকর্ডগুলি যেমন রয়েছে তেমনই রয়েছে। তবে শুধু কেন করবেন না: আপডেট করুন জ্যামিতি_কলামগুলি SET f_table_name = 'new_table_name' যেখানে f_table_name = 'old_table_name'
রাগী ইয়াসার বুড়হুম

এই শোNot Found The requested URL /latest/en/user/restconfig/rest-config-api.html was not found on this server.
স্কারামাউচে


7

নোট করুন যে PostGIS 2.0+ এ আপনাকে যা করতে হবে তা স্বাভাবিক

ALTER TABLE old_name RENAME TO new_name;

জ্যামিতি_ কলামগুলি (বা ভূগোল_কলামগুলি) এন্ট্রিও আপডেট করা হবে।


3
SELECT Probe_Geometry_Columns();

হ্যান্ডল ইউটিলিটি।

প্রথমত, যখন আমরা একটি বিদ্যমান সারণীতে জ্যামিতি কলাম যুক্ত করি

SELECT AddGeometryColumn('my_table', 'geo_column', 1234, 'MULTIPOINT', 2);

জ্যামিতি (জিও_ কলাম) টাইপটি নির্দিষ্ট টেবিলের (মাই_ টেবিল) ক্যাপ করার জন্য প্রয়োজনীয় ফাংশনটি আমরা খাওয়াচ্ছি এবং এসআরআইডি (1234), জ্যামিতির ধরণ (বহুবিধ) এবং মাত্রার সংখ্যা (2) এর মতো গুরুত্বপূর্ণ বিবরণ লিখি জ্যামিতি_কলামগুলি সারণী। সংক্ষেপে, এটি একটি বিকল্প এবং তিনটি আপডেট।

অন্যান্য উপায়ে জ্যামিতি কলাম তৈরি করা (শেফফাইল থেকে লোড, একটি তৈরি টেবিল হিসাবে নির্বাচিত ইত্যাদি)) স্থানিক টেবিলগুলিতে নিয়ে যেতে পারে যা বাহ্যিক অ্যাপ্লিকেশনগুলিতে অদৃশ্য, যদিও তারা ডাটাবেসের মধ্যে ঠিক সূক্ষ্মভাবে কাজ করে। জ্যামিতি_কলামগুলিতে সঞ্চিত সঠিক বিবরণ ব্যতীত প্রকৃত জ্যামিতির মানগুলি অনুমানকৃত বিন্দু, লাইন বা বহুভুজগুলির সন্ধানকারী অ্যাপ্লিকেশনগুলিতে অযৌক্তিক চরিত্রের স্ট্রিং হিসাবে উপস্থিত হয়।

প্রোব ফাংশনটিতে কল করা জ্যামিতি টাইপের প্রতিটি কলাম পরীক্ষা করে, জ্যামিতি_কলামগুলিতে নতুন মান যুক্ত করে এবং বিরোধের প্রতিবেদন দেয়।

আপনার প্রশ্নের পিছনে চক্রাকারে, জিওসার্ভার বিশ্বাস করে না যে নাম পরিবর্তনটি জ্যামিতি_কলামগুলিতে প্রতিবিম্বিত না হলে নাম পরিবর্তিত টেবিলটিতে স্থানিক ডেটা রয়েছে। আর কিছু বিবেচনা করার বিষয় হ'ল যে প্রোব ফাংশনটি নতুন টেবিলের নামটি প্রতিফলিত করে একটি সদৃশ রেকর্ড তৈরি করে তবে মূল রেকর্ড থেকে মুক্তি পাবে না - জিও সার্ভারের জন্য আরও একটি সম্ভাব্য হ্যাং-আপ।

যা যা বলেছিল, আমি আপনাকে পরামর্শ দিচ্ছি: 1) তদন্ত চালাও তত্ক্ষণাত পুরানো রেকর্ডটি মুছুন; বা 2) আপনার নাম পরিবর্তনটি জ্যোমিতি_কলামগুলিতে একটি বিকল্পের সাথে f_table_name মান পরিবর্তন করতে অনুসরণ করুন।

শব্দভাণ্ডারের জন্য দুঃখিত, তবে আমি আশা করি এটি সাহায্য করবে।


ধন্যবাদ তোমার উত্তরের জন্য. আমি পোস্টজিআইএস এখন আরও ভাল বুঝতে শুরু করছি। তবুও, প্রয়োজনীয় পদক্ষেপগুলি গ্রহণ করা দরকার তা সম্পর্কে আমি কিছুটা অনিশ্চিত। আমি কি প্রথমে নাম পরিবর্তন করব, তারপরে প্রোব () করব? আমি কীভাবে জ্যামিতি_কলামগুলি পরিবর্তন করব?
মিমো

জ্যামিতি_কলামগুলিতে পরিবর্তন আনার সহজতম উপায় হ'ল পিজিএডমিন খুলুন, টেবিলের ডানদিকে ক্লিক করুন, ভিউ ডেটা নির্বাচন করুন, সমস্ত সারি দেখুন নির্বাচন করুন, পুরাতন সারণির নামযুক্ত ঘরে ক্লিক করুন এবং নতুন সারণির নাম টাইপ করুন। অথবা, জ্যামিতি_ কলামগুলি আপডেট করুন f_table_name = 'নতুন_সারণযোগ্য_নাম' যেখানে f_schema_name = 'স্কিমা_নাম' এবং f_table_name = 'ওল্ড টেবিল_নাম'
rec.thegeom

1

আমি নিশ্চিত না যে নির্বাচিত প্রোব_জিওমিট্রি_কলামগুলি () কী করে তবে আপনি সহজেই জ্যামিতি_কলামগুলি সারণীটি পরীক্ষা করে দেখতে পারেন যে আপনার নতুন সারণির নাম সেখানে আছে বা এখনও এটি পুরানোটির দিকে ইঙ্গিত করছে কিনা।

আমি সন্দেহ করি যে এটি পরিবর্তনগুলি "লক্ষ্য করে" তা নিশ্চিত করার জন্য আপনাকে জিও সার্ভার স্টোরটি পুনরায় লোড করতে হবে। বিকল্পভাবে একটি স্টপ এবং শুরু এটি করবে।


"জিও সার্ভার স্টোরটি পুনরায় লোড করুন" এর অর্থ কী?
মিমো

স্থিতির পাতায় ( ডকস.জোজারওয়ার.আর. / স্টলেট / এএন / ইউজার / ওয়েবেডমিন / সার্ভার / স্ট্যাটাস এইচটিএমএল ) একটি পুনরায় লোড বোতাম রয়েছে।
ইয়ান টার্টন

ধন্যবাদ। তবে পুনরায় লোড কার্যকর হয়নি work আমি এখনও একটি জিও সার্ভার ত্রুটি পেয়েছি যা নাম পরিবর্তিত স্তরটি খুঁজে না পাওয়ার বিষয়ে অভিযোগ করে। এটি এখনও পুরানো নামের অধীনে এটি সন্ধান করার চেষ্টা করে।
মিমো

আপনি নতুন টেবিলের নামকে নির্দেশ করতে স্তর সংজ্ঞাটি পরিবর্তন করেছেন?
ইয়ান টার্টন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.