วิธีสร้างผู้ใช้ใน PostgreSQL (Postgres) การใช้ PgAdmin
ในบทช่วยสอนนี้ คุณจะได้เรียนรู้
- PostgreSQL สร้างผู้ใช้ใน PgAdmin
- PostgreSQL สร้างผู้ใช้ SQLShell (บรรทัดคำสั่ง)
- เพิ่มผู้ใช้ที่มีอยู่ไปยังฐานข้อมูล
- PostgreSQL กำลังอัปเดต USER
- PostgreSQL กำลังลบผู้ใช้
- แผ่นโกง
วิธีการสร้าง PostgreSQL ผู้ใช้ใน PgAdmin
ต่อไปนี้เป็นกระบวนการทีละขั้นตอนเกี่ยวกับวิธีสร้างผู้ใช้ใน PostgreSQL ผู้ดูแลระบบ:
ขั้นตอน 1) คลิกขวาที่เข้าสู่ระบบ
ในขั้นตอนแรก คลิกขวาที่บทบาทกลุ่มเข้าสู่ระบบ -> สร้าง -> คลิกที่บทบาทกลุ่มเข้าสู่ระบบ...
ขั้นตอน 2) สร้างบทบาทการเข้าสู่ระบบ/กลุ่ม
ตอนนี้ ป้อนชื่อสำหรับการเข้าสู่ระบบ
ขั้นตอน 3) คลิกที่คำจำกัดความและป้อนรายละเอียด
- ใส่รหัสผ่าน
- วันหมดอายุของบัญชี
ขั้นตอน 4) ส่วนสิทธิพิเศษ
- Toggle สามารถเข้าสู่ระบบปุ่ม YES
- Toggle Superuser เป็น YES
ขั้นตอน 5) รางวัล SQL ส่วน
- คุณจะเห็นแบบสอบถาม SQL เพื่อสร้างผู้ใช้ตามการเลือกในขั้นตอนก่อนหน้า
- คลิกปุ่มบันทึก
ขั้นตอน 6) สร้างบทบาทแล้ว
ตอนนี้ บทบาทจะสะท้อนให้เห็นในแผนผังออบเจ็กต์
ขั้นตอน 7) สร้าง ฐานข้อมูล
ตอนนี้ มอบหมายเจ้าของ myguru ให้กับมันดังที่แสดงด้านล่าง สร้างตัวอย่างผู้ใช้ Postgres
ขั้นตอน 8) บรรทัดคำสั่ง
ตอนนี้คุณสามารถเห็นได้ว่าเจ้าของคือ myguru
PostgreSQL สร้างผู้ใช้ SQLShell (บรรทัดคำสั่ง)
คุณสามารถสร้างผู้ใช้ได้โดยใช้คำสั่งบรรทัดคำสั่ง
สร้างผู้ใช้
วิธีสร้างผู้ใช้ด้วยรหัสผ่านของ Postgres นี้สะดวกกว่าสำหรับโปรแกรมเมอร์และผู้ดูแลระบบเนื่องจากสามารถเข้าถึงคอนโซลของ PostgreSQL เซิร์ฟเวอร์ ยิ่งไปกว่านั้น พวกเขาต้องการการสร้างผู้ใช้ Postgres และดำเนินการด้วยคำสั่งเดียวแทนการเข้าสู่ระบบและการใช้อินเทอร์เฟซของ PostgreSQL ลูกค้า
ไวยากรณ์:
CREATE USER name WITH option where the option can be: |SUPERUSER | NOSUPERUSER | CREATEROLE | NOCREATEROLE | CREATEDB | NOCREATEDB | INHERIT | NOINHERIT | LOGIN | NOLOGIN | REPLICATION | NOREPLICATION | BYPASSRLS | NOBYPASSRLS | CONNECTION LIMIT | ( ENCRYPTED ] PASSWORD 'password.' | VALID UNTIL 'timestamp1 | IN ROLE role_name [, ...J | IN GROUP role_name [, ...] | ROLE role_name [, ...] | ADMIN role_name [, ...) | USER role_name [, ...] | SYSID uid
ตัวอย่าง:
CREATE USER tom;
จะสร้างผู้ใช้ทอม
CREATE USER tom WITH SUPERUSER;
จะสร้างโทมผู้ใช้ที่มีสิทธิ์ระดับ superuser มาดูตัวอย่างต่อไปนี้
ขั้นตอน 1) เรากำลังสร้าง superuser ที่ถูกต้องจนถึง 3rd 2025 เมษายน 11 50:38:XNUMX น. ป้อนคำสั่งต่อไปนี้
CREATE USER mytest WITH LOGIN SUPERUSER CREATEDB CREATEROLE INHERIT NOREPLICATION CONNECTION LIMIT -1 VALID UNTIL '2025-04-03T11:50:38+05:30' PASSWORD '123456';
ขั้นตอน 2) ป้อนคำสั่ง \du ลงในรายการตรวจสอบของผู้ใช้
หมายเหตุ: CREATE USER เหมือนกับคำสั่ง CREATE ROLE ความแตกต่างระหว่างสองคำสั่งคือเมื่อมีการเขียนคำสั่งผู้ใช้ Postgres CREATE โดยค่าเริ่มต้นจะอยู่ในสถานะ LOGIN ในขณะที่จะถือว่า NOLOGIN เมื่อใช้ตัวเลือก CRETE ROLE
เพิ่มผู้ใช้ที่มีอยู่ไปยังฐานข้อมูล
คุณสามารถให้สิทธิ์ผู้ใช้ในการเข้าถึงฐานข้อมูลได้
ตัวอย่าง เราให้สิทธิ์ผู้ใช้ “mytest” ทั้งหมดแก่ผู้ใช้ guru99
GRANT ALL PRIVILEGES ON DATABASE guru99 TO mytest;
ภายหลังการประหารชีวิต PostgreSQL เพิ่มคำสั่งผู้ใช้ ผู้ใช้จะสามารถเข้าถึงฐานข้อมูลตามสิทธิ์ที่กำหนด
คำสั่ง GRANT นั้นทรงพลังมาก คุณสามารถให้สิทธิ์โดยละเอียด เช่น เลือก แทรก อัปเดต ให้กับผู้ใช้ได้
PostgreSQL กำลังอัปเดต USER
การเปลี่ยนแปลงสิทธิ์ของผู้ใช้ที่มีอยู่
ขณะนี้มีผู้ใช้ใหม่ "mytest" แล้ว คุณสามารถใช้ ALTER USER เพื่อเปลี่ยนสิทธิ์ที่มอบให้กับบรรณารักษ์ได้
รูปแบบของ ALTER USER Postgres จะมีชื่อผู้ใช้ตามด้วยตัวเลือกบางอย่างที่จะบอก PostgreSQL ซึ่งอนุญาตให้ทำการเปลี่ยนแปลง:
ALTER USER role_specification WITH OPTION1 OPTION2 OPTION3;
Revตกลงสิทธิ์
คุณต้องใช้คำสั่งนี้เมื่อคุณทำผิดพลาดและมอบหมายสิทธิ์ไม่ถูกต้องซึ่งคุณอาจต้องการเพิกถอน คุณสามารถใช้คำสั่ง ALTER USER โดยไม่มีคำนำหน้าก่อนตัวเลือกที่อนุญาต
ตัวอย่างเช่น เราสามารถลบสถานะ SUPERUSER ออกจาก mytest ได้ เช่น:
ALTER USER mytest WITH NOSUPERUSER;
เมื่อใช้ \du คุณจะสังเกตเห็นว่าสิทธิ์ Superuser ถูกลบออก
การมอบหมายการอนุญาต
คุณสามารถใช้สิทธิ์ผู้ใช้ SUPERUSER ย้อนกลับ “mytest” ได้โดยใช้คำสั่งต่อไปนี้
ALTER USER mytest WITH SUPERUSER;
เมื่อใช้ \du คุณจะสังเกตเห็นว่ามีการเพิ่มสิทธิ์ Superuser
PostgreSQL กำลังลบผู้ใช้
คุณสามารถใช้การลบผู้ใช้ใดๆ หากคุณแน่ใจว่าผู้ใช้รายนั้นไม่ได้มีไว้สำหรับฐานข้อมูลของคุณอีกต่อไป โปรดทราบว่าการลบผู้ใช้จะไม่ส่งผลกระทบต่อฐานข้อมูลจริง
Syntax: DROP USER [user]
หากต้องการลบผู้ใช้ คุณต้องแน่ใจว่าผู้ใช้นั้นเป็นเจ้าของฐานข้อมูล มิฉะนั้น คุณอาจได้รับข้อความแสดงข้อผิดพลาด
ERROR: role "username" cannot be dropped because some objects depend on it
ตัวอย่าง:
- บัญชี “myguru” เป็นเจ้าของฐานข้อมูล “demoDB”
- ป้อนคำสั่ง DROP USER myguru
- มีการแสดงข้อผิดพลาด
เมื่อเราเปลี่ยนเจ้าของฐานข้อมูลแล้ว ผู้ใช้สามารถลบผู้ใช้ได้
แผ่นโกง
นี่คือคำสั่งที่สำคัญ
คำสั่ง | Descriptไอออน |
---|---|
CREATE USER [user] |
คำสั่งสร้างผู้ใช้ |
ALTER USER role_specification |
การเปลี่ยนแปลงสิทธิ์ของผู้ใช้ที่มีอยู่ |
ALTER USER [user] |
Revตกลงสิทธิ์ |
ALTER USER [user name] WITH SUPERUSER |
การมอบหมายการอนุญาต |
DROP USER [user] |
คำสั่งให้ลบผู้ใช้ |