ใช้psql
คำสั่ง meta:
https://www.postgresql.org/docs/current/static/app-psql.html
การข้ามหน้าด้วย Ctrl + F ให้:
\ddp [ pattern ]
แสดงการตั้งค่าสิทธิ์การเข้าถึงเริ่มต้น
\dp [ pattern ]
แสดงตารางมุมมองและลำดับที่มีสิทธิ์การเข้าถึงที่เกี่ยวข้อง
\l[+] [ pattern ]
แสดงรายการฐานข้อมูลในเซิร์ฟเวอร์และแสดงสิทธิ์การเข้าถึง ....
ดังกล่าวข้างต้น แต่ไม่พบด้วยคำว่า "สิทธิพิเศษ" ในหน้าคู่มือ:
\du+
สำหรับบทบาทที่มีการเข้าสู่ระบบและ\dg+
สำหรับบทบาทที่ไม่มี - จะมีการยื่น"Member of"
ที่คุณค้นหาบทบาทที่มอบให้กับบทบาท
ฉันจงใจข้ามฟังก์ชั่นและสิทธิพิเศษทางภาษาที่นี่พบได้ในpsql
คู่มือว่าแทบจะไม่ได้รับการจัดการ (และถ้าคุณใช้สิทธิ์เหล่านั้นคุณจะไม่มาที่นี่เพื่อรับคำแนะนำ) เหมือนกันกับประเภทที่ผู้ใช้กำหนดโดเมนและอื่น ๆ - โดยใช้ "+" หลังจากคำสั่ง meta-command จะแสดงสิทธิ์ของคุณถ้ามี
วิธีที่รวดเร็วที่สุดในการตรวจสอบสิทธิพิเศษกำลังทำให้ผู้ใช้ตกอยู่ในธุรกรรมเช่น:
s=# begin; drop user x;
BEGIN
Time: 0.124 ms
ERROR: role "x" cannot be dropped because some objects depend on it
DETAIL: privileges for type "SO dT"
privileges for sequence so
privileges for schema bin
privileges for table xx
privileges for table "csTest"
privileges for table tmp_x
privileges for table s1
privileges for table test
Time: 0.211 ms
s=# rollback;
ROLLBACK
Time: 0.150 ms
เมื่อรายการมีความยาวมากกว่า N (อย่างน้อยใน 9.3) การเตือนด้วยรายการสิทธิ์จะถูกยุบ แต่คุณยังสามารถค้นหาได้เต็มในบันทึก ...
\z myTable
เหมาะสำหรับการตรวจสอบให้แน่ใจว่าคุณได้ให้สิทธิ์การเข้าถึงแก่ใครบางคนและหลีกเลี่ยงการดูเหมือนคนงี่เง่าเมื่อคุณพูดว่า "โอเคใช้งานได้ตอนนี้หรือไม่? "