Cách thay đổi quyền sở hữu cho tất cả các đối tượng trong PostgreSQL

2022-03-17 20:52:26

Trong bài đăng này, tôi đang chia sẻ một tập lệnh mà chúng ta có thể sử dụng để thay đổi quyền sở hữu của tất cả các đối tượng trong PostgreSQL.

Tại sao quyền sở hữu đối tượng cần thay đổi?

Tôi đã tạo một người dùng ứng dụng cho cơ sở dữ liệu PostgreSQL sản xuất của chúng tôi.

Nhưng quản trị viên hệ thống và người quản lý triển khai đã mắc một lỗi và thực thi các đối tượng với một số người dùng cơ sở dữ liệu khác.

Sau khi triển khai, chúng tôi biết rằng các đối tượng không được triển khai dưới quyền sở hữu hợp lệ.

Bây giờ chúng tôi có 2500 bảng, 450 chế độ xem và 230 chức năng được lưu trữ được yêu cầu để thay đổi quyền sở hữu của chúng.

Bây giờ, tôi cần giải quyết vấn đề này bằng cách chỉ sử dụng một tập lệnh vì thay đổi thủ công quyền sở hữu của nhiều đối tượng này sẽ mất quá nhiều thời gian.

Dưới đây là minh chứng của tôi:

Đầu tiên, hãy tạo một hàm với giá trị tham số $ để bạn có thể sử dụng hàm này làm mẫu.

Bây giờ, hãy tạo hai câu lệnh chọn để lấy tập lệnh thay thế.

Câu lệnh select bên dưới dành cho Bảng, Chuỗi và Chế độ xem.

Câu lệnh select bên dưới dành cho tất cả các chức năng.

Trong đoạn mã trên, chuẩn bị một câu lệnh thay thế để thay đổi quyền sở hữu cho tất cả các đối tượng từ chỉ định người dùng đến được đề cập ” app_user “. Bạn có thể thay đổi ” app_user ” bởi tên người dùng yêu cầu của bạn.

Sau khi thực hiện các câu lệnh select ở trên, bạn có thể tìm thấy tất cả các tập lệnh thay thế trong một kết quả.

Sao chép kết quả này và thực thi các tập lệnh thay đổi ở trên bằng cách sử dụng super user.

Tất cả quyền sở hữu sẽ được thay đổi sau khi thực hiện điều này, thay đổi tập lệnh.

Xem thêm:


Chia sẻ: