Hereβs a compact list of PostgreSQL privileges, grouped by level of application, with each privilege described in 4β6 words on the same line:
πΉ Database-Level Privileges
CONNECTβ Allow connect to databaseCREATEβ Create schemas in databaseTEMPβ Create temporary tables here
πΉ Schema-Level Privileges
USAGEβ Use schema and objectsCREATEβ Create objects in schema
πΉ Table-Level Privileges
SELECTβ Read data from tableINSERTβ Add new rows to tableUPDATEβ Modify existing rows/columnsDELETEβ Remove rows from tableTRUNCATEβ Remove all rows efficientlyREFERENCESβ Create foreign keys referencingTRIGGERβ Create triggers on table
πΉ Column-Level Privileges
SELECTβ Read data from columnUPDATEβ Modify values in column
πΉ Sequence-Level Privileges
USAGEβ Use sequence without incrementingSELECTβ Read current value of sequenceUPDATEβ Modify current value directly
πΉ Function-Level Privileges
EXECUTEβ Run the function/procedure
Let me know if you want examples of how to grant these at each level.