Postgres provides mechanisms to allow users to limit the access to their data that is provided to other users.
Database super-users (i.e., users who have pg_user.usesuper set) silently bypass all of the access controls described below with two exceptions: manual system catalog updates are not permitted if the user does not have pg_user.usecatupd set, and destruction of system catalogs (or modification of their schemas) is never allowed.
The use of access privilege to limit reading, writing and setting of rules on classes is covered in grant/revoke(l).
Commands that destroy or modify the structure of an existing class, such as alter, drop table, and drop index, only operate for the owner of the class. As mentioned above, these operations are never permitted on system catalogs.