- नया उपयोगकर्ता बनाना
- मौजूदा उपयोगकर्ता अनुमतियां देखना
- मौजूदा उपयोगकर्ता अनुमतियों को बदलना
- असाइनिंग
SUPERUSER
अनुमति - अनुमतियां निरस्त करना
- असाइनिंग
PostgreSQL के भीतर उपयोगकर्ता अनुमतियों को संशोधित करना सरल से लेकर अत्यंत जटिल तक हो सकता है, जो वास्तव में आवश्यक अनुमेय ग्रैन्युलैरिटी पर निर्भर करता है। हालांकि, ज्यादातर मामलों में, यह शक्तिशाली ALTER USER
. है कमांड जिसका उपयोग उपयोगकर्ताओं को लॉग इन करने, डेटाबेस बनाने, भूमिकाएं प्रबंधित करने और यहां तक कि एक SUPERUSER
बनने की अनुमति देने से सब कुछ करने के लिए किया जाना चाहिए। खाता।
हम संक्षेप में ALTER USER
. की शक्ति का पता लगाएंगे आदेश दें ताकि आवश्यकता पड़ने पर आप विभिन्न प्रकार के अनुमति असाइनमेंट और निष्कासन आसानी से कर सकें।
नया उपयोगकर्ता बनाना
इससे पहले कि हम बदलाव करें उपयोगकर्ता अनुमतियाँ, हमें एक नया उपयोगकर्ता खाता स्थापित करना चाहिए (जिसे आमतौर पर ROLE
. कहा जाता है) ) के साथ खिलवाड़ करना।
शुरू करने के लिए, हम सभी मौजूदा उपयोगकर्ताओं को सूचीबद्ध करेंगे:
=# SELECT usename FROM pg_user;
usename
----------
postgres
(1 row)
डिफ़ॉल्ट रूप से, postgres
आम तौर पर मौजूद एकमात्र उपयोगकर्ता होता है, इसलिए हम librarian
. का एक नया उपयोगकर्ता बनाना चाहते हैं हमारे library
. को नियंत्रित करने के लिए डेटाबेस। इसे CREATE USER
. का उपयोग करके पूरा किया जा सकता है आदेश:
=# CREATE USER librarian;
CREATE ROLE
=# SELECT usename FROM pg_user;
usename
-----------
postgres
librarian
(2 rows)
मौजूदा उपयोगकर्ता अनुमतियां देखना
सिस्टम में उपयोगकर्ताओं को असाइन की गई मौजूदा अनुमतियों की जांच करना अक्सर उपयोगी हो सकता है। इसे \du
. के साथ आसानी से पूरा किया जा सकता है psql
. से कमांड संकेत:
=# \du
List of roles
Role name | Attributes | Member of
-----------+------------------------------------------------+-----------
librarian | | {}
postgres | Superuser, Create role, Create DB, Replication | {}
हम स्पष्ट रूप से देख सकते हैं कि भले ही हमने अब एक नया librarian
जोड़ा है उपयोगकर्ता, हमें इसे कुछ अनुमतियां देनी होंगी।
मौजूदा उपयोगकर्ता अनुमतियां बदलना
अब जबकि हमारा librarian
उपयोगकर्ता मौजूद है, हम ALTER USER
. का उपयोग शुरू कर सकते हैं librarian
. को दी गई अनुमतियों को संशोधित करने के लिए ।
ALTER USER
. का मूल स्वरूप उपयोगकर्ता का नाम शामिल है (या ROLE
) उसके बाद options
. की एक शृंखला PostgreSQL को सूचित करने के लिए कि कौन से अनुमेय परिवर्तन करने हैं:
=# ALTER USER role_specification WITH OPTION1 OPTION2 OPTION3;
ये विकल्प CREATEDB
. से लेकर हैं , CREATEROLE
, CREATEUSER
, और यहां तक कि SUPERUSER
. इसके अतिरिक्त, अधिकांश विकल्पों में एक नकारात्मक प्रतिपक्ष भी होता है, जो उस प्रणाली को सूचित करता है जिसे आप अस्वीकार करना . करना चाहते हैं उपयोगकर्ता कि विशेष अनुमति। ये विकल्प नाम उनके असाइनमेंट समकक्ष के समान हैं, लेकिन NO
. के साथ पहले लगे हैं (जैसे NOCREATEDB
, NOCREATEROLE
, NOSUPERUSER
)।
असाइन करना SUPERUSER
अनुमति
अब जब हम उपयोगकर्ता बनाने और ALTER USER
. का उपयोग करने की मूल बातें समझ गए हैं अनुमतियों को संशोधित करने के लिए, हम काफी सरलता से SUPERUSER
. का उपयोग कर सकते हैं हमारे librarian
assign को असाइन करने का विकल्प उपयोगकर्ता SUPERUSER
अनुमति:
=# ALTER USER librarian WITH SUPERUSER;
ALTER ROLE
निश्चित रूप से, यदि हम अभी अपनी अनुमति सूची प्रदर्शित करते हैं, तो हम देखेंगे librarian
नया SUPERUSER
है अनुमति हम चाहते हैं:
=# \du
List of roles
Role name | Attributes | Member of
-----------+------------------------------------------------+-----------
librarian | Superuser | {}
postgres | Superuser, Create role, Create DB, Replication | {}
अनुमतियां रद्द करना
इस घटना में कि हम कोई गलती करते हैं और एक अनुमति प्रदान करते हैं जिसे हम बाद में रद्द करना चाहते हैं, बस वही ALTER USER
जारी करें कमांड लेकिन NO
जोड़ें अनुमोदक विकल्पों के सामने उपसर्ग को निरस्त किया जाना है।
उदाहरण के लिए, हम SUPERUSER
. को हटा सकते हैं हमारे librarian
. से उपयोगकर्ता को ऐसा पसंद है:
=# ALTER USER librarian WITH NOSUPERUSER;
ALTER ROLE
=# \du
List of roles
Role name | Attributes | Member of
-----------+------------------------------------------------+-----------
librarian | | {}
postgres | Superuser, Create role, Create DB, Replication | {}