Score:0

เหตุใดฉันจึงไม่สามารถให้สิทธิ์แบบเลือกได้กับตารางทั้งหมดในสคีมาด้วย PostgreSQL

ธง in

ฉันมีฐานข้อมูล my_databaseและมีบางตารางชื่อ my_table_1, my_table_2, ... , my_table_128 ภายใต้สคีมา สาธารณะ. ฉันต้องให้สิทธิ์เลือกสำหรับตารางทั้งหมดในสคีมา สาธารณะ ให้กับผู้ใช้ my_db_userดังนั้นฉันจึงรันคำสั่ง SQL ด้านล่าง:

ให้สิทธิ์ SELECT บนตารางทั้งหมดใน SCHEMA ต่อสาธารณะ my_db_user;

และดำเนินการโดยไม่มีข้อผิดพลาด แต่หลังจากที่ฉันเชื่อมต่อกับผู้ใช้ my_db_user และพยายามเลือกบางอย่าง มันปฏิเสธการอนุญาต และฉันได้ลองรันคำสั่ง SQL ด้านล่างกับผู้ใช้ที่เป็นผู้ดูแลระบบ:

ให้สิทธิ์เลือกบนโต๊ะ public.my_table_1 ถึง my_db_user;

จากนั้นเชื่อมต่อกับผู้ใช้ my_db_user และพยายามเลือกบางอย่างก็ใช้ได้

Score:0
ธง in

คุณให้สิทธิ์กับตารางทั้งหมดก่อนที่จะสร้างตารางหรือไม่ หากเป็นเช่นนั้น คุณอาจต้องให้สิทธิ์อีกครั้ง

ฉันชอบทำให้รายการทั้งหมดในสคีมาสาธารณะเป็นสาธารณะสำหรับผู้ใช้ทั้งหมด ดังนั้นคุณอาจต้องการลอง:

แก้ไขสิทธิ์เริ่มต้นใน SCHEMA สาธารณะ 
ให้สิทธิ์เลือกบนโต๊ะแก่สาธารณะ
Score:0
ธง cn

ข้อผิดพลาด: สิทธิ์ถูกปฏิเสธสำหรับตาราง asm_info สถานะ SQL: 42501

  1. เชื่อมต่อกับผู้ใช้ที่เป็น superuser หรือผู้ใช้ที่มีสิทธิ์อนุญาต
  2. เชื่อมต่อกับฐานข้อมูลที่มีตารางอยู่. [สำคัญที่สุด]
  3. จากนั้นรันคำสั่งต่อไปนี้: มอบสิทธิพิเศษทั้งหมดบนตารางทั้งหมดใน SCHEMA สาธารณะแก่นักพัฒนา

-bash-4.1$ psql erp; erp->ฐานข้อมูลที่มีตารางอยู่

erp=# \c

ขณะนี้คุณเชื่อมต่อกับฐานข้อมูล "erp" ในฐานะผู้ใช้ "postgres"

erp=# มอบสิทธิพิเศษทั้งหมดบนตารางทั้งหมดใน SCHEMA สาธารณะแก่ผู้พัฒนา

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา