

Quand un objet est créé, il se voit affecter un propriétaire. Le propriétaire est normalement le rôle qui a exécuté la requête de création. Pour la plupart des objets, l'état initial est que seul le propriétaire (et les superutilisateurs) peut faire quelque chose avec cet objet. Pour permettre aux autres rôles de l'utiliser, des droits doivent être donnés.
   Il existe un certain nombre de droits différents : SELECT,
   INSERT, UPDATE, DELETE,
   TRUNCATE, REFERENCES, TRIGGER,
   CREATE, CONNECT, TEMPORARY,
   EXECUTE et USAGE.
   Les droits applicables à un objet particulier varient
   selon le type d'objet (table, fonction...). La page de référence
   GRANT fournit une
   information complète sur les différents types de droits gérés par
   PostgreSQL.  La section et
   les chapitres suivants présentent l'utilisation de ces droits.
  
Le droit de modifier ou de détruire un objet est le privilège du seul propriétaire.
   Un objet peut se voir affecter un nouveau propriétaire avec la commande
   ALTER correspondant à l'objet, par exemple ALTER TABLE. Les superutilisateurs peuvent toujours le
   faire. Les rôles ordinaires peuvent seulement le faire s'ils sont le
   propriétaire actuel de l'objet (ou un membre du rôle propriétaire) et un
   membre du nouveau rôle propriétaire.
  
   La commande GRANT est
   utilisée pour accorder des privilèges.
   Par exemple, si joe
   est un rôle et comptes une table, le
   privilège d'actualiser la table comptes peut être accordé
   à joe avec :
GRANT UPDATE ON comptes TO joe;
   Écrire ALL à la place d'un droit spécifique accorde tous
   les droits applicables à ce type d'objet.
  
   Le nom de « rôle » spécial PUBLIC peut
   être utilisé pour donner un privilège à tous les rôles du système. De plus,
   les rôles de type « group » peuvent être configurés pour aider à
   la gestion des droits quand il y a beaucoup d'utilisateurs dans une base
    --  pour les détails, voir Chapitre 21.
  
   Pour révoquer un privilège, on utilise la commande bien nommée
   REVOKE, comme dans l'exemple ci-dessous :
REVOKE ALL ON comptes FROM PUBLIC;
   Les privilèges spéciaux du propriétaire de l'objet (c'est-à-dire le droit
   d'exécuter DROP, GRANT,
   REVOKE, etc.) appartiennent toujours implicitement au
   propriétaire. Ils ne peuvent être ni
   accordés ni révoqués. Mais le propriétaire de l'objet peut choisir
   de révoquer ses propres droits ordinaires pour, par exemple, mettre
   une table en lecture seule pour lui-même et pour les autres.
  
Habituellement, seul le propriétaire de l'objet (ou un superutilisateur) peut accorder ou révoquer les droits sur un objet. Néanmoins, il est possible de donner un privilège « avec possibilité de transmission » (« with grant option »), qui donne à celui qui le reçoit la permission de le donner à d'autres. Si cette option est ensuite révoquée, alors tous ceux qui ont reçu ce privilège par cet utilisateur (directement ou indirectement via la chaîne des dons) perdent ce privilège. Pour les détails, voir les pages de références GRANT et REVOKE.