পোস্টগ্রাইএসকিউএল ডাটাবেস থেকে কেবল স্থানীয় টেবিলগুলি নির্বাচন করছেন?


10

আমার ডাটাবেসের মধ্যে উভয় স্থানিক এবং অ-স্থানীয় টেবিল রয়েছে তবে আমি কোয়েরি থেকে কেবল স্থানিক টেবিলটি পুনরুদ্ধার করতে চাই।

শুধুমাত্র স্থানিক টেবিল নির্বাচন করার জন্য কোনও পরামর্শ। 'the_geom' স্থানিক টেবিলের জ্যামিতি কলাম।

অন্যথায়, এর কলামের নাম থেকে কি টেবিলগুলি নির্বাচন করা সম্ভব?

আমি এই কোড দিয়ে চেষ্টা করেছি select relname from pg_stat_user_tables WHERE schemaname='public'; তবে এটি থেকে আমরা সমস্ত টেবিলের নাম পাই।

উত্তর:


16

সমস্ত স্থানীয় টেবিলের রেফারেন্সগুলি জ্যামিতি_কলামগুলি মেটাডেটা টেবিলে অনুষ্ঠিত হয়। সুতরাং চেষ্টা কর:

select * from geometry_columns

এবং আপনার কেবল স্থানিক টেবিলগুলি পাওয়া উচিত


আপনাকে অনেক ধন্যবাদ ... আমি মনে করি আমি একটি সাধারণ জিনিসটি মিস করেছি
কিশোর

2
আমি অন্য কোড পেয়েছি, SELECT table_name FROM information_schema.columns WHERE column_name = 'the_geom'
কিশোর

হ্যাঁ- এটাই দীর্ঘ পথ :-)
ম্যাপোহোলিক

হ্যাঁ, আপনি ঠিক বলেছেন।
কিশোর

@ কিশোর, আপনার মন্তব্যটিকে একটি "উত্তর" হিসাবে যুক্ত করা উচিত, যাতে লোকেদের এটি একটি বিকল্প হিসাবেও দেখা যায়, এমনকি যদি এটি প্রতিষ্ঠিত করা হয় যে ম্যাপোহোলিকের উত্তরটি পছন্দসই পদ্ধতি হতে পারে।
রায়ানকডালটন

2

সংক্ষিপ্ত পথ

select * from geometry_columns

আরও গভীর উপায়

SELECT table_name FROM information_schema.columns WHERE column_name = 'the_geom' or column_name = 'wkb_geometry'

জ্যামিতি_কলামগুলির তথ্য মুছে ফেলা হলেও দ্বিতীয় বিকল্পটিতে কাজ করা উচিত। 'Wkb_geometry' হল জ্যামিতি ডেটা কলামগুলির ডিফল্ট নাম যদি আপনি নিজের ডাটাবেস ফিড করতে ogr2ogr সরঞ্জাম ব্যবহার করেন।


2

আর একটি যা ডাটাবেসে কেবল স্থানিক টেবিলগুলি নির্বাচন করে ..

SELECT table_name FROM information_schema.columns WHERE column_name = 'the_geom'`

এই কোডটি ব্যবহার করে আমরা এর কলামের নাম জেনে টেবিলের তথ্যও পুনরুদ্ধার করতে পারি।

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