ฉันต้องการสร้างผู้ใช้ใหม่ในpostgresql
ฐานข้อมูลที่มีอยู่ในเครื่อง Ubuntu ฉันต้องการอนุญาตให้ผู้ใช้รายนี้เข้าถึงตารางทั้งหมดแบบอ่านอย่างเดียว
ฉันต้องทำอย่างไร? ฉันจำเป็นต้องสร้างผู้ใช้ใหม่บน Ubuntu ด้วยหรือไม่
ขอบคุณ
Udi
ฉันต้องการสร้างผู้ใช้ใหม่ในpostgresql
ฐานข้อมูลที่มีอยู่ในเครื่อง Ubuntu ฉันต้องการอนุญาตให้ผู้ใช้รายนี้เข้าถึงตารางทั้งหมดแบบอ่านอย่างเดียว
ฉันต้องทำอย่างไร? ฉันจำเป็นต้องสร้างผู้ใช้ใหม่บน Ubuntu ด้วยหรือไม่
ขอบคุณ
Udi
คำตอบ:
สคริปต์เพื่อสร้างผู้ใช้แบบอ่านอย่างเดียว:
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;
ไม่จำเป็นต้องสร้างผู้ใช้ใหม่ในระบบปฏิบัติการ เพียงแค่ปัญหา:
สร้างชื่อผู้ใช้ใหม่
ใน psql (หรือ pgadmin หรือเครื่องมืออะไรก็ได้ที่คุณต้องการ) และคุณจะมีผู้ใช้ใหม่ การเข้าถึงสิ่งที่ผู้ใช้รายนี้มีนั้นขึ้นอยู่กับการตั้งค่าตารางของคุณ แต่ค่าเริ่มต้นจะไม่มีสิทธิ์ในตารางใด ๆ ดังนั้นคุณจะต้องให้สิทธิ์นี้ หากคุณได้รับอนุญาตจากกลุ่มสาธารณะผู้ใช้จะได้รับสิทธิ์ตั้งแต่ต้น