Table Privileges

By default, only a superuser and the table owner (typically the person who creates a table) have access to a table. The ability to drop or alter a table is also reserved for a superuser or table owner. This privilege cannot be granted to other users.

All other users or roles (including the user who owns the schema, if he or she does not also own the table) must be explicitly granted using WITH GRANT OPTION syntax to access the table.

These are the table privileges a superuser or table owner can grant:

Privilege Description
SELECT

Permission to run SELECT queries on the table.

INSERT

Permission to INSERT data into the table.

DELETE

Permission to DELETE data from the table, as well as SELECT privilege on the table when executing a DELETE statement that references table column values in a WHERE or SET clause.

UPDATE

Permission to UPDATE and change data in the table, as well as SELECT privilege on the table when executing an UPDATE statement that references table column values in a WHERE or SET clause.

REFERENCES

Permission to CREATE foreign key constraints that reference this table.

To use any of the above privileges, the user must also have USAGE privileges on the schema that contains the table. See Schema Privileges for details.

Referencing sequence in the CREATE TABLE statement requires the following privileges:

For details on granting and revoking table privileges, see GRANT (Table) and REVOKE (Table) in the SQL Reference Manual.