วิธีสร้างผู้ใช้ใน PostgreSQL การใช้ PgAdmin
⚡ สรุปอย่างชาญฉลาด
การสร้างผู้ใช้ใน PostgreSQL สามารถทำได้ด้วยภาพใน pgAdmin หรือใช้คำสั่ง CREATE USER ใน SQL Shell จากนั้นคุณสามารถให้สิทธิ์ด้วยคำสั่ง GRANT แก้ไขบทบาทด้วยคำสั่ง ALTER USER และลบบัญชีผู้ใช้ด้วยคำสั่ง DROP USER

วิธีการสร้าง 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 option can be: SUPERUSER | NOSUPERUSER | CREATEDB | NOCREATEDB | CREATEROLE | NOCREATEROLE | INHERIT | NOINHERIT | LOGIN | NOLOGIN | REPLICATION | NOREPLICATION | BYPASSRLS | NOBYPASSRLS | CONNECTION LIMIT connlimit | [ ENCRYPTED ] PASSWORD 'password' | PASSWORD NULL | VALID UNTIL 'timestamp' | IN ROLE role_name [, ...] | IN GROUP role_name [, ...] | ROLE role_name [, ...] | ADMIN role_name [, ...] | USER role_name [, ...] | SYSID uid
ตัวอย่าง:
CREATE USER tom;
จะสร้างผู้ใช้ทอม
CREATE USER tom WITH SUPERUSER;
จะสร้างผู้ใช้ชื่อ tom ที่มีสิทธิ์ระดับสูงสุด มาดูตัวอย่างต่อไปนี้กัน
ขั้นตอน 1) เรากำลังสร้าง superuser ที่ถูกต้องจนถึง 3rd เมษายน 2025 เวลา 11:50:38 น. ตามเวลามาตรฐานอินเดีย (IST) ป้อนคำสั่งต่อไปนี้
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 ความแตกต่างระหว่างสองคำสั่งนี้คือ เมื่อใช้คำสั่ง CREATE User ใน PostgreSQL ระบบจะถือว่าอยู่ในสถานะ LOGIN โดยค่าเริ่มต้น ในขณะที่เมื่อใช้ตัวเลือก CREATE ROLE ระบบจะถือว่าอยู่ในสถานะ NOLOGIN
เพิ่มผู้ใช้ที่มีอยู่ไปยังฐานข้อมูล
คุณสามารถให้สิทธิ์ผู้ใช้ในการเข้าถึงฐานข้อมูลได้
ตัวอย่าง เราให้สิทธิ์ผู้ใช้ “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]
|
คำสั่งให้ลบผู้ใช้ |















