Cách tạo người dùng trong PostgreSQL (Postgres) Sử dụng PGAdmin

Trong hướng dẫn này, bạn sẽ học

Làm thế nào để tạo ra PostgreSQL Người dùng trong PGAdmin

Sau đây là quy trình từng bước về cách tạo người dùng trong PostgreSQL PGAdmin:

Bước 1) Nhấp chuột phải vào Đăng nhập

Ở bước đầu tiên, Nhấp chuột phải vào Vai trò nhóm đăng nhập -> Tạo -> Nhấp vào Vai trò nhóm đăng nhập…

Tạo PostgreSQL Người dùng trong PGAdmin

Bước 2) Tạo vai trò đăng nhập/nhóm

Bây giờ, Nhập tên cho Đăng nhập

Tạo PostgreSQL Người dùng trong PGAdmin

Bước 3) Nhấp vào Định nghĩa & Nhập Chi tiết

  1. Nhập mật khẩu
  2. Ngày hết hạn của tài khoản

Tạo PostgreSQL Người dùng trong PGAdmin

Bước 4) Phần Đặc quyền

  1. Toggle Nút Có thể đăng nhập thành CÓ
  2. Toggle Siêu người dùng thành CÓ

Tạo PostgreSQL Người dùng trong PGAdmin

Bước 5) SQL phần

  1. Bạn sẽ thấy truy vấn SQL để tạo người dùng theo các lựa chọn được thực hiện ở các bước trước
  2. Nhấp vào nút Lưu

Tạo PostgreSQL Người dùng trong PGAdmin

Bước 6) Vai trò được tạo

Bây giờ, Vai trò được phản ánh trong cây đối tượng.

Tạo PostgreSQL Người dùng trong PGAdmin

Bước 7) Tạo ra một Cơ sở dữ liệu

Bây giờ, chỉ định chủ sở hữu myguru cho nó như trong ví dụ tạo người dùng Postgres bên dưới.

Tạo PostgreSQL Người dùng trong PGAdmin

Bước 8) Dòng lệnh

Bây giờ, bạn có thể thấy chủ sở hữu là myguru.

Tạo PostgreSQL Người dùng trong PGAdmin

PostgreSQL Tạo SQLShell người dùng (Dòng lệnh)

Bạn có thể tạo người dùng bằng cách sử dụng lệnh dòng lệnh

TẠO NGƯỜI DÙNG

Phương thức tạo người dùng bằng mật khẩu Postgres này thuận tiện hơn cho các lập trình viên và quản trị viên vì họ có quyền truy cập vào bảng điều khiển của PostgreSQL máy chủ. Hơn nữa, họ cần tạo và thực thi người dùng Postgres bằng một lệnh duy nhất thay vì đăng nhập và sử dụng giao diện của PostgreSQL khách hàng.

Cú pháp:

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

Ví dụ:

CREATE USER tom;

sẽ tạo một người dùng tom

CREATE USER tom WITH SUPERUSER;

Sẽ tạo một tome người dùng có quyền siêu người dùng. Hãy xem ví dụ sau.

Bước 1) Chúng tôi đang tạo một siêu người dùng có hiệu lực đến 3rd Tháng 2025 năm 11 50:38:XNUMX IST. Nhập lệnh sau

CREATE USER mytest WITH
	LOGIN
	SUPERUSER
	CREATEDB
	CREATEROLE
	INHERIT
	NOREPLICATION
	CONNECTION LIMIT -1
	VALID UNTIL '2025-04-03T11:50:38+05:30' 
	PASSWORD '123456';

Tạo SQLShell người dùng

Bước 2) Nhập lệnh \du vào danh sách kiểm tra của người dùng

Tạo SQLShell người dùng

LƯU Ý: CREATE USER giống như lệnh CREATE ROLE. Sự khác biệt giữa hai lệnh là khi lệnh người dùng Postgres CREATE được viết, theo mặc định nó ở trạng thái ĐĂNG NHẬP trong khi NOLOGIN được giả định khi sử dụng tùy chọn CRETE ROLE.

Thêm người dùng hiện có vào Cơ sở dữ liệu

Bạn có thể cấp đặc quyền cho người dùng để truy cập cơ sở dữ liệu.

Ví dụ: chúng tôi cấp cho người dùng “mytest” tất cả các đặc quyền đối với người dùng guru99

GRANT ALL PRIVILEGES ON DATABASE guru99 TO mytest;

Thêm người dùng hiện có vào Cơ sở dữ liệu

Sau khi thực hiện các PostgreSQL thêm lệnh người dùng, người dùng sẽ có thể truy cập cơ sở dữ liệu với các quyền nhất định.

Lệnh GRANT rất mạnh mẽ. Bạn có thể cung cấp các đặc quyền chi tiết như Chọn, Chèn, Cập nhật cho người dùng.

PostgreSQL Đang cập nhật NGƯỜI DÙNG

Thay đổi quyền của người dùng hiện tại

Bây giờ người dùng mới của chúng tôi “mytest” đã tồn tại, bạn có thể sử dụng ALTER USER để thay đổi các quyền được cấp cho thủ thư.

Định dạng của ALTER USER Postgres bao gồm tên của người dùng, theo sau là một số tùy chọn để cho biết PostgreSQL những thay đổi được phép thực hiện:

ALTER USER role_specification WITH OPTION1 OPTION2 OPTION3;

Revđồng ý Quyền

Bạn cần sử dụng lệnh này khi mắc lỗi và gán sai quyền mà bạn có thể muốn thu hồi. Bạn có thể sử dụng lệnh ALTER USER không có tiền tố trước các tùy chọn cho phép.

Ví dụ: chúng ta có thể xóa trạng thái SIÊU NGƯỜI DÙNG khỏi mytest như:

ALTER USER mytest WITH NOSUPERUSER;

Sử dụng \du, bạn sẽ thấy đặc quyền Superuser bị xóa.

Revđồng ý Quyền

Phân quyền

Bạn có thể sử dụng quyền người dùng SUPERUSER trở lại "mytest" bằng lệnh sau

ALTER USER mytest WITH SUPERUSER;

Sử dụng \du, bạn sẽ thấy đặc quyền Superuser đã được thêm vào.

Phân quyền

PostgreSQL Xóa người dùng

Bạn có thể sử dụng xóa bất kỳ người dùng nào nếu bạn chắc chắn rằng người dùng cụ thể đó không còn có trong cơ sở dữ liệu của bạn nữa. Lưu ý rằng việc xóa người dùng sẽ không bao giờ ảnh hưởng đến cơ sở dữ liệu thực tế.

Syntax: DROP USER [user]

Để xóa bất kỳ người dùng nào, bạn phải chắc chắn rằng người dùng đó là chủ sở hữu của cơ sở dữ liệu. Nếu không, bạn có thể nhận được thông báo lỗi.

ERROR:  role "username" cannot be dropped because some objects depend on it

Ví dụ:

  1. Tài khoản “myguru” là chủ sở hữu cơ sở dữ liệu “demoDB”.
  2. Nhập lệnh THẢ NGƯỜI DÙNG myguru
  3. Lỗi được hiển thị

PostgreSQL Xóa người dùng

Khi chúng tôi thay đổi chủ sở hữu cơ sở dữ liệu, người dùng có thể bị xóa

PostgreSQL Xóa người dùng

Cheat Sheet

Dưới đây là các lệnh quan trọng

Lệnh Mô tả Chi tiết
CREATE USER [user]
Lệnh tạo người dùng
ALTER USER role_specification
Thay đổi quyền của người dùng hiện tại
ALTER USER [user]
Revđồng ý Quyền
ALTER USER [user name] WITH SUPERUSER
Phân quyền
DROP USER [user]
Lệnh xóa người dùng