Từ CREATE ROLE
tài liệu :
Lưu ý rằng các vai trò được xác định ở cấp cụm cơ sở dữ liệu và do đó có giá trị trong tất cả các cơ sở dữ liệu trong cụm.
Vì kết pg_dump
xuất một cơ sở dữ liệu, bạn không thể trích xuất các vai trò với tiện ích đó. Các pg_dumpall --roles-only
lệnh mà bạn đề nghị sẽ làm việc - tuy nhiên bạn có thể cần phải lọc sản lượng của nó do đó vai trò chỉ mong muốn sẽ được tạo ra trong cluster mới.
Các vai trò được lưu trữ trong pg_authid
danh mục, được lưu trữ vật lý trong data/global/
thư mục con của bản cài đặt PostgreQuery, cùng với các bảng toàn cụm khác. Bạn có thể truy vấn nội dung pg_authid
thông qua pg_roles
chế độ xem.
LƯU Ý : bạn sẽ cần quyền superuser để kết xuất các vai trò. Nếu không, bạn sẽ nhận được một sự cho phép từ chối trên SELECT
trên pg_authid
- và ngay cả khi một superuser cấp SELECT
quyền, bạn sẽ nhận được cùng một lỗi. Tuy nhiên, trong trường hợp này, bạn có thể liệt kê các vai trò bằng cách truy vấn pg_authid
trực tiếp, COPY
nó vào một tệp và cuộn một số phép thuật để tạo các câu lệnh CREATE ROLE
và ALTER ROLE
câu lệnh cần thiết .