Gần đây tôi đã tạo một bảng dưới dạng siêu người dùng bao gồm cột id nối tiếp, ví dụ:
create table my_table
(
id serial primary key,
data integer
);
Vì tôi muốn người dùng không phải là siêu người dùng của mình có quyền truy cập ghi vào bảng đó, tôi đã cấp cho nó quyền:
grant select, update, insert, delete on table my_table to writer;
Tại một thời điểm ngẫu nhiên sau khi làm như vậy, các lần chèn do người dùng đó thực hiện bắt đầu không thành công do người dùng thiếu quyền sửa đổi chuỗi my_table_id_seq
liên quan đến cột nối tiếp. Thật không may, tôi không thể sao chép nó trên cơ sở dữ liệu hiện tại của tôi.
Tôi đã làm việc xung quanh điều này bằng cách cung cấp cho người dùng quyền yêu cầu, như thế này:
grant all on table my_table_id_seq to writer;
Ai có thể giúp tôi hiểu
- Tại sao, tại một số điểm, các quyền đủ trước đó có thể bắt đầu không thành công?
- cách thích hợp để cấp quyền ghi cho bảng có cột nối tiếp là gì?