สร้างผู้ใช้ใหม่แบบอ่านอย่างเดียวใน postgres


9

ฉันต้องการสร้างผู้ใช้ใหม่ในpostgresqlฐานข้อมูลที่มีอยู่ในเครื่อง Ubuntu ฉันต้องการอนุญาตให้ผู้ใช้รายนี้เข้าถึงตารางทั้งหมดแบบอ่านอย่างเดียว

ฉันต้องทำอย่างไร? ฉันจำเป็นต้องสร้างผู้ใช้ใหม่บน Ubuntu ด้วยหรือไม่

ขอบคุณ

Udi

คำตอบ:


20

อ้างอิงจากบทความนี้!

สคริปต์เพื่อสร้างผู้ใช้แบบอ่านอย่างเดียว:

CREATE ROLE Read_Only_User WITH LOGIN PASSWORD 'Test1234' 
NOSUPERUSER INHERIT NOCREATEDB NOCREATEROLE NOREPLICATION VALID UNTIL 'infinity';

กำหนดสิทธิ์ให้กับผู้ใช้แบบอ่านอย่างเดียวนี้:

GRANT CONNECT ON DATABASE YourDatabaseName TO Read_Only_User;
GRANT USAGE ON SCHEMA public TO Read_Only_User;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO Read_Only_User;
GRANT SELECT ON ALL SEQUENCES IN SCHEMA public TO Read_Only_User;

ที่น่าประทับใจ! คำตอบใหม่ที่เกี่ยวข้องหลังจากนานกว่า 6 ปี
Adam Matan

มันคุ้มค่า นี่คือลิงค์ยอดนิยมสำหรับฉันเมื่อค้นหา "การสร้างผู้ใช้แบบอ่านอย่างเดียวใน Postgres" บทความยอดนิยมที่มีตัวอย่างที่เกี่ยวข้องคือชัยชนะในหนังสือของฉัน
Audrius

3

ไม่จำเป็นต้องสร้างผู้ใช้ใหม่ในระบบปฏิบัติการ เพียงแค่ปัญหา:

สร้างชื่อผู้ใช้ใหม่

ใน psql (หรือ pgadmin หรือเครื่องมืออะไรก็ได้ที่คุณต้องการ) และคุณจะมีผู้ใช้ใหม่ การเข้าถึงสิ่งที่ผู้ใช้รายนี้มีนั้นขึ้นอยู่กับการตั้งค่าตารางของคุณ แต่ค่าเริ่มต้นจะไม่มีสิทธิ์ในตารางใด ๆ ดังนั้นคุณจะต้องให้สิทธิ์นี้ หากคุณได้รับอนุญาตจากกลุ่มสาธารณะผู้ใช้จะได้รับสิทธิ์ตั้งแต่ต้น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.