วิธีสร้างผู้ใช้ใน PostgreSQL (Postgres) การใช้ PgAdmin

ในบทช่วยสอนนี้ คุณจะได้เรียนรู้

วิธีการสร้าง PostgreSQL ผู้ใช้ใน PgAdmin

ต่อไปนี้เป็นกระบวนการทีละขั้นตอนเกี่ยวกับวิธีสร้างผู้ใช้ใน PostgreSQL ผู้ดูแลระบบ:

ขั้นตอน 1) คลิกขวาที่เข้าสู่ระบบ

ในขั้นตอนแรก คลิกขวาที่บทบาทกลุ่มเข้าสู่ระบบ -> สร้าง -> คลิกที่บทบาทกลุ่มเข้าสู่ระบบ...

สร้างบัญชีตัวแทน PostgreSQL ผู้ใช้ใน PgAdmin

ขั้นตอน 2) สร้างบทบาทการเข้าสู่ระบบ/กลุ่ม

ตอนนี้ ป้อนชื่อสำหรับการเข้าสู่ระบบ

สร้างบัญชีตัวแทน PostgreSQL ผู้ใช้ใน PgAdmin

ขั้นตอน 3) คลิกที่คำจำกัดความและป้อนรายละเอียด

  1. ใส่รหัสผ่าน
  2. วันหมดอายุของบัญชี

สร้างบัญชีตัวแทน PostgreSQL ผู้ใช้ใน PgAdmin

ขั้นตอน 4) ส่วนสิทธิพิเศษ

  1. Toggle สามารถเข้าสู่ระบบปุ่ม YES
  2. Toggle Superuser เป็น YES

สร้างบัญชีตัวแทน PostgreSQL ผู้ใช้ใน PgAdmin

ขั้นตอน 5) รางวัล SQL ส่วน

  1. คุณจะเห็นแบบสอบถาม SQL เพื่อสร้างผู้ใช้ตามการเลือกในขั้นตอนก่อนหน้า
  2. คลิกปุ่มบันทึก

สร้างบัญชีตัวแทน PostgreSQL ผู้ใช้ใน PgAdmin

ขั้นตอน 6) สร้างบทบาทแล้ว

ตอนนี้ บทบาทจะสะท้อนให้เห็นในแผนผังออบเจ็กต์

สร้างบัญชีตัวแทน PostgreSQL ผู้ใช้ใน PgAdmin

ขั้นตอน 7) สร้าง ฐานข้อมูล

ตอนนี้ มอบหมายเจ้าของ myguru ให้กับมันดังที่แสดงด้านล่าง สร้างตัวอย่างผู้ใช้ Postgres

สร้างบัญชีตัวแทน PostgreSQL ผู้ใช้ใน PgAdmin

ขั้นตอน 8) บรรทัดคำสั่ง

ตอนนี้คุณสามารถเห็นได้ว่าเจ้าของคือ myguru

สร้างบัญชีตัวแทน PostgreSQL ผู้ใช้ใน PgAdmin

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';

สร้างผู้ใช้ SQLShell

ขั้นตอน 2) ป้อนคำสั่ง \du ลงในรายการตรวจสอบของผู้ใช้

สร้างผู้ใช้ SQLShell

หมายเหตุ: 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 ถูกลบออก

Revตกลงสิทธิ์

การมอบหมายการอนุญาต

คุณสามารถใช้สิทธิ์ผู้ใช้ 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

ตัวอย่าง:

  1. บัญชี “myguru” เป็นเจ้าของฐานข้อมูล “demoDB”
  2. ป้อนคำสั่ง DROP USER myguru
  3. มีการแสดงข้อผิดพลาด

PostgreSQL กำลังลบผู้ใช้

เมื่อเราเปลี่ยนเจ้าของฐานข้อมูลแล้ว ผู้ใช้สามารถลบผู้ใช้ได้

PostgreSQL กำลังลบผู้ใช้

แผ่นโกง

นี่คือคำสั่งที่สำคัญ

คำสั่ง Descriptไอออน
CREATE USER [user]
คำสั่งสร้างผู้ใช้
ALTER USER role_specification
การเปลี่ยนแปลงสิทธิ์ของผู้ใช้ที่มีอยู่
ALTER USER [user]
Revตกลงสิทธิ์
ALTER USER [user name] WITH SUPERUSER
การมอบหมายการอนุญาต
DROP USER [user]
คำสั่งให้ลบผู้ใช้