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
- PostgreSQL Tạo người dùng trong PGAdmin
- PostgreSQL Tạo SQLShell người dùng (Dòng lệnh)
- Thêm người dùng hiện có vào Cơ sở dữ liệu
- PostgreSQL Đang cập nhật NGƯỜI DÙNG
- PostgreSQL Xóa người dùng
- Cheat Sheet
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…
Bước 2) Tạo vai trò đăng nhập/nhóm
Bây giờ, Nhập tên cho Đăng nhập
Bước 3) Nhấp vào Định nghĩa & Nhập Chi tiết
- Nhập mật khẩu
- Ngày hết hạn của tài khoản
Bước 4) Phần Đặc quyền
- Toggle Nút Có thể đăng nhập thành CÓ
- Toggle Siêu người dùng thành CÓ
Bước 5) SQL phần
- 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
- Nhấp vào nút Lưu
Bước 6) Vai trò được tạo
Bây giờ, Vai trò được phản ánh trong cây đối tượng.
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.
Bước 8) Dòng lệnh
Bây giờ, bạn có thể thấy chủ sở hữu là myguru.
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';
Bước 2) Nhập lệnh \du vào danh sách kiểm tra của 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;
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.
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.
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ụ:
- Tài khoản “myguru” là chủ sở hữu cơ sở dữ liệu “demoDB”.
- Nhập lệnh THẢ NGƯỜI DÙNG myguru
- Lỗi được hiển thị
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
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 |