আমার উত্তরটি সার্ভারফল্ট ডট কমের অনুরূপ ।
টু কনজারভেটিভ
আপনি যদি "সমস্ত সুযোগ সুবিধা" দেওয়ার চেয়ে রক্ষণশীল হতে চান তবে আপনি এর মতো আরও কিছু চেষ্টা করতে চাইতে পারেন to
GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA public TO some_user_;
GRANT EXECUTE ON ALL FUNCTIONS IN SCHEMA public TO some_user_;
সেখানে ব্যবহার public
প্রতিটি নতুন ডাটাবেস / ক্যাটালগের জন্য তৈরি ডিফল্ট স্কিমাটির নাম বোঝায়। আপনি যদি স্কিমা তৈরি করেন তবে নিজের নামের সাথে প্রতিস্থাপন করুন।
স্কিমা অ্যাক্সেস
কোনও কর্মের জন্য কোনও স্কিমা অ্যাক্সেস করার জন্য, ব্যবহারকারীকে অবশ্যই "ব্যবহার" অধিকার মঞ্জুর করতে হবে। কোনও ব্যবহারকারী নির্বাচন করতে, সন্নিবেশ করতে, আপডেট করতে বা মুছতে পারে তার আগে একজন ব্যবহারকারীকে প্রথমে স্কিমায় "ব্যবহার" দিতে হবে।
পোস্টগ্র্রেস ব্যবহার করার সময় আপনি এই প্রয়োজনীয়তাটি লক্ষ্য করবেন না। ডিফল্টরূপে প্রতিটি ডাটাবেসের একটি প্রথম স্কিমার নাম থাকে public
। এবং ডিফল্টরূপে প্রতিটি ব্যবহারকারীর সেই নির্দিষ্ট স্কিমায় স্বয়ংক্রিয়ভাবে "ব্যবহার" অধিকার দেওয়া হয়েছে। অতিরিক্ত স্কিমা যোগ করার সময়, আপনাকে অবশ্যই স্পষ্টভাবে ব্যবহারের অধিকার প্রদান করতে হবে।
GRANT USAGE ON SCHEMA some_schema_ TO some_user_ ;
থেকে উদ্ধৃতাংশ Postgres ডক :
স্কিমার জন্য, নির্দিষ্ট স্কিমাতে থাকা অবজেক্টগুলিতে অ্যাক্সেসের অনুমতি দেয় (ধরে নিলেন যে বস্তুর নিজস্ব বিশেষাধিকারের প্রয়োজনীয়তাও পূরণ হয়েছে)। মূলত এটি গ্রান্টিকে স্কিমার মধ্যে অবজেক্টগুলিকে "সন্ধান" করতে দেয়। এই অনুমতি ব্যতীত এখনও অবজেক্টের নামগুলি দেখতে পাওয়া সম্ভব, যেমন সিস্টেম সারণীগুলি জিজ্ঞাসা করে। এছাড়াও, এই অনুমতিটি প্রত্যাহার করার পরে, বিদ্যমান ব্যাকেন্ডগুলিতে এমন বিবৃতি থাকতে পারে যা পূর্বে এই চেহারাটি সম্পাদন করেছিল, সুতরাং এটি কোনও অবৈধ অ্যাক্সেস রোধ করার জন্য নিরাপদ উপায় নয়।
আরও আলোচনার জন্য প্রশ্নটি দেখুন, স্ক্যামার উপর অনুদানের ব্যবহারটি কী করে? । পোস্টগ্রিজ বিশেষজ্ঞ ক্রেগ রিঞ্জার দ্বারা উত্তরটিতে বিশেষ মনোযোগ দিন ।
ভবিষ্যতে বনাম বিদ্যমান অবজেক্টস
এই আদেশগুলি কেবল বিদ্যমান বস্তুগুলিকেই প্রভাবিত করে। আপনি ভবিষ্যতে যে টেবিলগুলি তৈরি করেন এবং যেমন উপরে আপনি এই লাইনগুলি পুনরায় সম্পাদন না করেন ততক্ষণ ডিফল্ট সুযোগ সুবিধা পান। ভবিষ্যতের বস্তুগুলিকে প্রভাবিত করে ডিফল্টগুলি পরিবর্তন করতে এরউইন ব্র্যান্ডসেট্টারের অন্যান্য উত্তর দেখুন ।