Tạo người dùng trong PostgreSQL: Cách thêm, thay thế & Xóa người dùng?

Mục lục:

Anonim

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 cho người dùng (Dòng lệnh)
  • Thêm người dùng hiện có vào Cơ sở dữ liệu
  • Cập nhật PostgreSQL USER
  • Người dùng đang xóa PostgreSQL
  • Trang Cheat

PostgreSQL Tạo 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 / Vai trò nhóm -> Tạo -> Nhấp vào Đăng nhập / Vai trò nhóm

Bước 2) Nhập tên cho Đăng nhập

Bước 3) Trong ngăn định nghĩa,

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

Bước 4) Trong phần đặc quyền,

  1. Nút chuyển đổi Có thể đăng nhập thành CÓ
  2. Chuyển Superuser thành CÓ

Bước 5) Trong phần SQL

  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 trong các bước trước đó
  2. Nhấp vào nút Lưu

Bước 6) Vai trò được tạo và phản ánh trong cây đối tượng

Bước 7) Tạo cơ sở dữ liệu và chỉ định myguru chủ sở hữu cho nó như được hiển thị trong ví dụ dưới đây tạo người dùng Postgres

Bước 8) Trong dòng lệnh, bạn có thể thấy chủ sở hữu là "myguru"

PostgreSQL Tạo SQLShell cho 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

Trong PostgreSQL, tạo phương thức PostgreSQL người dùng 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 máy chủ PostgreSQL. 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 cho việc đăng nhập và sử dụng giao diện của ứng dụng khách PostgreSQL.

Syntax:CREATE USER name WITH optionwhere 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

Thí dụ:

CREATE USER tom;

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

CREATE USER tom WITH SUPERUSER;

Sẽ tạo một tome người dùng với các đặc quyền của người dùng siêu cấp. Hãy xem ví dụ sau.

Bước 1) Chúng tôi đang tạo ra một superuser hiệu lực đến 3 thứ Apri 2025 11:50:38 IST. Nhập lệnh sau

CREATE USER mytest WITHLOGINSUPERUSERCREATEDBCREATEROLEINHERITNOREPLICATIONCONNECTION LIMIT -1VALID 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, nó được mặc định ở trạng thái ĐĂNG NHẬP trong khi NOLOGIN được giả định khi tùy chọn CRETE ROLE được sử dụng.

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 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 trên guru99 của người dùng

GRANT ALL PRIVILEGES ON DATABASE guru99 TO mytest;

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

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

Cập nhật PostgreSQL USER

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

Bây giờ người dùng mới "mytest" của chúng tôi đã 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 PostgreSQL biết những thay đổi dễ dàng nào cần thực hiện:

ALTER USER role_specification WITH OPTION1 OPTION2 OPTION3;

Thu hồi quyền

Bạn cần sử dụng lệnh này khi bạn mắc lỗi và chỉ định 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 tôi có thể xóa trạng thái SUPERUSER khỏi mytest như:

ALTER USER mytest WITH NOSUPERUSER;

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

Chuyển nhượng quyền

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

ALTER USER mytest WITH SUPERUSER;

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

Người dùng đang xóa PostgreSQL

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 dành cho cơ sở dữ liệu của bạn. 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 đảm bảo 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

Thí dụ:

  1. Tài khoản "myguru" là chủ sở hữu của cơ sở dữ liệu "demoDB."
  2. Nhập lệnh DROP USER myguru
  3. Lỗi được hiển thị

Sau 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

Trang Cheat

Đây là các lệnh quan trọng

Lệnh Sự miêu 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]

Thu hồi quyền

ALTER USER [user name] WITH SUPERUSER

Chuyển nhượng quyền

DROP USER [user]

Lệnh xóa người dùng