সুবিধাগুলি কখন \ l তে তালিকাভুক্ত হয় এবং কখন হয় না?


10

কখন access l দ্বারা অ্যাক্সেস সুবিধাগুলি তালিকাভুক্ত হয় এবং কখন হয় না? By l দ্বারা তালিকাভুক্ত অ্যাক্সেস সুবিধাগুলি অনুদান এবং প্রত্যাহারের পরে পরিবর্তন করতে পারে:

$ createuser -EP my_readonly
$ psql development
development=# \l
                                           List of databases
            Name             |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges   
-----------------------------+----------+----------+-------------+-------------+-----------------------
 development                 | vagrant  | UTF8     | en_GB.UTF-8 | en_GB.UTF-8 | 
...
development=# grant usage on schema public to my_readonly;
development=# grant connect on database development to my_readonly;
development=# \l
                                             List of databases
            Name             |  Owner   | Encoding |   Collate   |    Ctype    |     Access privileges      
-----------------------------+----------+----------+-------------+-------------+----------------------------
 development                 | vagrant  | UTF8     | en_GB.UTF-8 | en_GB.UTF-8 | =Tc/vagrant               +
                             |          |          |             |             | vagrant=CTc/vagrant       +
                             |          |          |             |             | my_readonly=c/vagrant
...
development=# revoke connect on database development from my_readonly;
REVOKE
development=# revoke usage on schema public from my_readonly;
REVOKE
development=# \l
                                           List of databases
            Name             |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges   
-----------------------------+----------+----------+-------------+-------------+-----------------------
 development                 | vagrant  | UTF8     | en_GB.UTF-8 | en_GB.UTF-8 | =Tc/vagrant          +
                             |          |          |             |             | vagrant=CTc/vagrant

কেন এমন? কোন রাষ্ট্র বদলেছে? আমি বিশ্বাস করি যে এই পুরো পিএসএইচএল অধিবেশনটির মাধ্যমে মাই-রিডোনলি ব্যবহারকারীদের সংযোগ স্থাপনের ক্ষমতাটি অপরিবর্তিত ছিল (কারণ আমি অনুমান করছি যে পাবলিকের ভূমিকাটি সংযোগের সুবিধাগুলি নিয়েছে), তবে স্পষ্টতই কিছু পরিবর্তন হয়েছে: সেই জিনিসটি কী?

সাইড প্রশ্ন: কিভাবে আমি স্পষ্টভাবে postgres অনুরোধ করতে পারেন আসলে পাবলিক কিনা নেই কানেক্ট অধিকারগুলি আপনার (তারা প্রত্যাহার থাকতে পারে - দেখুন কেন একটি নতুন ব্যবহারকারী কোনো টেবিল থেকে নির্বাচন করতে পারবে? )?

উত্তর:


4

পিএসকিএল-এ ব্যাকস্ল্যাশ কমান্ডগুলি এমন কোনও ক্যোয়ারী বা ক্যোরির জন্য শর্টকাট যা সিস্টেম ক্যাটালগগুলি দেখে। \lকমান্ড তথ্য দেখে pg_catalog.pg_database, বিশেষ করে, এই ক্যোয়ারী:

SELECT d.datname as "Name",
   pg_catalog.pg_get_userbyid(d.datdba) as "Owner",
   pg_catalog.pg_encoding_to_char(d.encoding) as "Encoding",
   d.datcollate as "Collate",
   d.datctype as "Ctype",
   pg_catalog.array_to_string(d.datacl, E'\n') AS "Access privileges"
FROM pg_catalog.pg_database d
ORDER BY 1;

আপনি কমান্ড লাইনে প্রার্থনা করার psqlসময় -Eপতাকাটি প্রেরণ করে ব্যাকস্ল্যাশ কমান্ডগুলির জন্য এটি কী ব্যবহার করছে তা দেখাতে পারেন ।

যদি কোনও ডেটাবেস বা অন্যান্য অবজেক্টের অনুমতিগুলি পোস্টগ্রিসএসকিউএল তাদের দ্বারা তৈরি করা ডিফল্ট হয় তবে *aclকলামটি হবে NULL। আপনি যদি ডিফল্টগুলি পরিবর্তন করেন, যেমন আপনার আছে, এসিএল কলামটি আপনার GRANT/ এবং যে REVOKEবিবৃতিতে দৌড়েছে তার সাথে সম্পর্কিত তথ্যের সাথে জনপ্রিয় হবে ।

আপনি অনুমতি বা এসিএলগুলি বিশেষত হয় \zবা এর মাধ্যমে দেখতে পারেন\dp

আপনি যদি এখানে আরও পড়েন:

http://www.postgresql.org/docs/9.4/static/sql-grant.html

আপনি যদি নীচে স্ক্রোল করে থাকেন, (বা শব্দের জন্য অনুসন্ধান করুন psql), আপনি টেবিলটি দেখতে পারেন যা আপনাকে দেখায় যে এসিএলগুলি আপনি কীভাবে \lACL কলামের সাথে দেখেন বা কীভাবে ব্যাখ্যা করতে হয় ।

উদাহরণ স্বরূপ:

=Tc/vagrant

এর অর্থ হ'ল পাবলিক (অন্তর্ভুক্ত ভূমিকাটিতে সমস্ত ভূমিকা রয়েছে) অস্থায়ী সারণী তৈরি Tএবং সংযোগ করার অনুমতি রয়েছে c, কারণ এসিএল লাইন =xxxxxপাবলিকের জন্য প্রয়োগকৃত অনুমতিগুলি বোঝায়, rolname=xxxxসেই নির্দিষ্ট ভূমিকার ক্ষেত্রে প্রযোজ্য।

ডালিবোর এই উপস্থাপনাটির আরও এটি আরও স্পষ্ট করতে সহায়তা করতে হবে: পোস্টগ্র্যাস এসকিউএল এ রাইটস পরিচালনা করা

আশা করি এইটি কাজ করবে. =)

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