PostgreSQL

Lệnh REASSIGN OWNED thay đổi quyền sở hữu các đối tượng cơ sở dữ liệu

Lệnh REASSIGN OWNED thay đổi quyền sở hữu các đối tượng cơ sở dữ liệu
Được viết bởi Minh Hoàng

Series chia sẻ về PostgreSQL – Cơ sở dữ liệu mã nguồn mở tiên tiến nhất thế giới.

Bài viết này sẽ mô tả cách sử dụng lệnh REASSIGN OWNED để thay đổi quyền sở hữu của các đối tượng cơ sở dữ liệu do một role cụ thể sở hữu thành một role khác.

Lệnh REASSIGN OWNED được sử dụng khi bạn muốn thay đổi quyền sở hữu của các đối tượng thuộc sở hữu của role trước khi xóa role đó.

Cú pháp lệnh:

REASSIGN OWNED BY { rolename_old | CURRENT_USER | SESSION_USER } [, ...]
               TO { rolename_new | CURRENT_USER | SESSION_USER }

Thay đổi quyền sở hữu của các đối tượng thuộc sở hữu của vai trò đã chỉ định (rolename_old) thành một vai trò khác (rolename_new).


Bây giờ sẽ đi vào ví dụ thực tế xem thế nào. Let’s Go!

Hiện trong database mydb có một lược đồ myschema3 được sở hữu bởi role nihongo:

¥dn

Lệnh REASSIGN OWNED thay đổi quyền sở hữu các đối tượng cơ sở dữ liệu (1)

Ngoài ra, bảng business đã được tạo trong lược đồ public cũng được sở hữu bởi role nihongo:

¥dt

Lệnh REASSIGN OWNED thay đổi quyền sở hữu các đối tượng cơ sở dữ liệu (2)

Và các đặc quyền a(INSERT), r(SELECT)w(UPDATE) (cách đọc giá trị cài đặt giống như đã trình bày ở bài viết Cấp đặc quyền (privileges) cho ROLE bằng lệnh PostgreSQL GRANT) đã được thêm vào role nihongo cho bảng business trong lược đồ public:

¥dp

Lệnh REASSIGN OWNED thay đổi quyền sở hữu các đối tượng cơ sở dữ liệu (3)

Bây giờ, chúng ta sẽ thay đổi quyền sở hữu của các đối tượng trong cơ sở dữ liệu mydb do role nihongo sở hữu thành role minhhoangblog sở hữu.

Thực hiện các lệnh sau khi kết nối như một superuser, chẳng hạn là postgres.

REASSIGN OWNED BY nihongo TO minhhoangblog;

Lệnh REASSIGN OWNED thay đổi quyền sở hữu các đối tượng cơ sở dữ liệu (4)

Các đối tượng thuộc sở hữu của role nihongo trong cơ sở dữ liệu mydb đã được chuyển sở hữu thành role minhhoangblog:

Lệnh REASSIGN OWNED thay đổi quyền sở hữu các đối tượng cơ sở dữ liệu (5)

Cảm ơn bạn đã theo dõi. Đừng ngần ngại hãy cùng thảo luận với chúng tôi!

Giới thiệu

Minh Hoàng

Xin chào, tôi là Hoàng Ngọc Minh, hiện đang làm BrSE, tại công ty Toyota, Nhật Bản. Những gì tôi viết trên blog này là những trải nghiệm thực tế tôi đã đúc rút ra được trong cuộc sống, quá trình học tập và làm việc. Các bài viết được biên tập một cách chi tiết, linh hoạt để giúp bạn đọc có thể tiếp cận một cách dễ dàng nhất. Hi vọng nó sẽ có ích hoặc mang lại một góc nhìn khác cho bạn[...]

1 bình luận

Translate »