In PostgreSQL, when granting sequences, can I grant only USAGE instead of both SELECT, USAGE?

1.7k Views Asked by At

I read answers about granting sequences in PostgreSQL. Generally, they say to grant both SELECT, USAGE. I wonder if I can grant only USAGE. Which one is best practice in granting sequences and why?

1

There are 1 best solutions below

1
On BEST ANSWER

Quote from the manual

SELECT privilege

For sequences, this privilege also allows the use of the currval function.

USAGE privilege

For sequences, this privilege allows the use of the currval and nextval functions.

(emphasis mine)

So the answer is: if you want to allow the usage of nextval() you will have to grant the USAGE privilege. If you grant USAGE, the SELECT privilege is not needed.