PostgreSQL صارف کو سکیما پر تمام مراعات فراہم کرتا ہے۔

Postgresql Sarf Kw Skyma Pr Tmam Mra At Fra M Krta



ڈیٹا بیسز اہم ہیں، اور یہ منتظم کا کام ہے کہ وہ کنٹرول کرے کہ صارف کسی مخصوص ڈیٹا بیس کے اندر کیا مختلف کردار ادا کر سکتا ہے۔ اجازت کے حصے کے طور پر، منتظم ڈیٹا بیس کے اندر صارف کے اداروں کی وضاحت کر سکتا ہے اور کرداروں کو مختلف مراعات دے سکتا ہے یا منسوخ کر سکتا ہے۔

اس طرح، آپ اس پر کنٹرول حاصل کر لیتے ہیں کہ کون ڈیٹا بیس تک رسائی حاصل کر سکتا ہے اور اگر وہ ڈیٹا بیس تک رسائی حاصل کر سکتے ہیں تو انہیں کیا مراعات حاصل ہیں۔ مثال کے طور پر، آپ ڈیٹابیس میں ترمیم کو منسوخ کر سکتے ہیں یا دی گئی جدول میں کسی صارف یا صارفین کو اسکیما پر تمام مراعات دے سکتے ہیں۔ اس گائیڈ میں پوسٹگری ایس کیو ایل کو استعمال کرنے کا طریقہ بتایا گیا ہے تاکہ صارف کو اسکیما پر تمام مراعات دی جائیں۔







PostgreSQL پر صارفین کو مراعات کیسے دیں۔

جب آپ کوئی نیا کردار بناتے ہیں، تو انہیں بطور ڈیفالٹ کچھ مراعات حاصل ہوتی ہیں۔ تاہم، زیادہ تر مراعات کے لیے منتظم سے ضرورت ہوتی ہے کہ وہ مختلف صارفین کو اسکیما تک رسائی اور کنٹرول کو منظم کرنے کے لیے فراہم کرے۔ آپ ایک ساتھ یا الگ الگ تمام مراعات دے سکتے ہیں۔



اس ٹیوٹوریل کے لیے، آئیے ایک نیا بنائیں کردار نامزد linuxhint1 .



$ sudo -iu پوسٹگریس
# رول linuxhint1 لاگ ان پاس ورڈ 'linuxhint' بنائیں؛


نوٹ کریں کہ ہم بطور لاگ ان ہیں۔ پوسٹگریس، پوسٹگری ایس کیو ایل انسٹال کرنے کے بعد ڈیفالٹ رول بن جاتا ہے۔






کردار (صارف) کی تخلیق کے ساتھ، ہم درج ذیل کمانڈ کا استعمال کرتے ہوئے دستیاب کرداروں کی فہرست بنا سکتے ہیں۔

# \ سے


دستیاب رولز ٹیبل فارمیٹ میں دکھائے جائیں گے۔




پوسٹگریس پہلے سے طے شدہ کردار ہے اور اسے پہلے سے ہی زیادہ تر مراعات دی گئی ہیں۔ تاہم، نیا کردار، linuxhint1، اس وقت تک کوئی مراعات نہیں ہیں جب تک ہم اسے نہیں دیتے۔

1. کسی صارف کو مخصوص استحقاق دینا

تخلیق کردہ کردار اسکیما میں ترمیم نہیں کرسکتا جب تک کہ آپ اس کی اجازت نہ دیں۔ آئیے پہلے ڈیفالٹ رول کے طور پر ایک ٹیبل بنا کر اس کی تصدیق کرتے ہیں، پوسٹگریس

# ٹیبل کے نام بنائیں ( m_id int ہمیشہ پیدا ہوتا ہے۔ کے طور پر شناخت، نام وچار ( 100 ) کالعدم نہیں، نام ورچار ( 100 ) null نہیں، عمر int ) ;



آپ دستیاب تعلقات کی فہرست بنا سکتے ہیں، جیسا کہ ذیل میں دکھایا گیا ہے:


اگلا، ایک نیا شیل کھولیں اور دوسرے کردار کا استعمال کرتے ہوئے PostgreSQL میں لاگ ان کریں، linuxhint1، جسے ہم نے پہلے درج ذیل کمانڈ کا استعمال کرتے ہوئے بنایا تھا۔

$ پی ایس کیو ایل -IN linuxhint1 -d پوسٹگریس



دی -d وضاحت کرتا ہے کہ کردار پوسٹگریس ڈیٹا بیس کو استعمال کرنا ہے۔

ٹیبل کے مندرجات کو پڑھنے کی کوشش کریں جسے ہم نے استعمال کرتے ہوئے بنایا ہے۔ منتخب کریں۔ کمانڈ.

# منتخب کریں۔ * ناموں سے؛


یہ لوٹاتا ہے a اجازت نہیں دی گئی صارف کو ٹیبل تک رسائی میں رکاوٹ ڈالنے والی غلطی۔


ایسی صورت میں، ہمیں درج ذیل نحو کا استعمال کرتے ہوئے دیے گئے جدول سے ڈیٹا کو منتخب/دیکھنے کے لیے رول مراعات دینے کی ضرورت ہے:

# GRANT privilege_name on table_name TO role_name;


مراعات دینے کے لیے، پوسٹگریس سیشن کا استعمال کریں۔


ایک بار منظور ہونے کے بعد، پچھلی کمانڈ کو دوبارہ چلانے کی کوشش کریں۔


یہی ہے. آپ نے مخصوص صارف کو منتخب استحقاق دینے کا انتظام کیا۔

2. ایک صارف کو سکیما پر تمام مراعات دینا

اب تک، ہم ایک صارف کو اسکیما پر صرف ایک مراعات دینے میں کامیاب ہوئے ہیں۔ ٹھیک ہے، یہ کافی نہیں ہے. صارف اس وقت تک اسکیما میں ترمیم نہیں کر سکتا جب تک کہ آپ اسے تمام مراعات نہیں دیتے، جیسے داخل کرنا اور اپ ڈیٹ کرنا۔

اس کو حاصل کرنے کے مختلف طریقے ہیں۔ سب سے پہلے، چلو صارف کو دی گئی میز پر تمام مراعات دیں۔ درج ذیل نحو کا استعمال کرتے ہوئے:

# تمام کو ٹیبل_نام پر رول_نام کے لیے گرانٹ کریں؛



صارف مخصوص ٹیبل کے ساتھ بات چیت اور اس میں ترمیم کرسکتا ہے۔ تاہم، وہ اسکیما میں موجود دیگر ٹیبلز کے ساتھ کام نہیں کر سکتے۔

کو ایک مخصوص اسکیما میں تمام میزوں پر تمام مراعات دیں۔ ، درج ذیل نحو کا استعمال کریں:

# schema schema_name TO role_name میں تمام ٹیبلز پر سب کو گرانٹ کریں؛



آخر میں، آپ کر سکتے ہیں مخصوص مراعات دیں، جیسے کہ سکیما پر تمام ٹیبلز کو کسی مخصوص کردار میں داخل کرنا یا منتخب کرنا .

# اسکیما اسکیما_نام سے رول_نام تک تمام ٹیبلز پر استحقاق_نام عطا کریں؛



کردار مخصوص اسکیما میں تمام جدولوں میں ڈیٹا منتخب کرسکتا ہے۔ اس طرح آپ وضاحت کرتے ہیں کہ مختلف صارفین کو اسکیما پر کون سے مراعات دینے ہیں۔

نتیجہ

PostgreSQL ایک طاقتور DBMS ہے۔ اس میں مختلف خصوصیات ہیں، بشمول منتظم کو صارفین کو مختلف مراعات دینے کی اجازت دینا۔ صارفین کو اسکیما پر تمام مراعات دینے کا مطلب ہے صارف کو مخصوص اسکیما میں موجود تمام ٹیبلز میں ترمیم کرنے اور ان کے ساتھ تعامل کرنے کی اجازت دینا۔ ہم نے دیکھا ہے کہ پوسٹگری ایس کیو ایل میں گرانٹ اسٹیٹمنٹ کا استعمال کرتے ہوئے اس کو اور اسکیما پر مراعات دینے کے دوسرے طریقے کیسے لاگو کیے جائیں۔