Oid fondamentalement vous donner un intégré, à l'échelle mondiale id unique pour chaque ligne, contenue dans un système de colonne (par opposition à un utilisateur de l'espace de la colonne). C'est très pratique pour les tables où vous n'avez pas de clé primaire, ont des lignes en double, etc. Par exemple, si vous avez un tableau avec deux lignes identiques des lignes, et que vous souhaitez supprimer le plus ancien des deux, vous pourriez le faire à l'aide de la colonne oid.
Dans mon expérience, la fonctionnalité est généralement utilisé dans la plupart des postgres adossés à des applications (probablement en partie parce qu'ils sont non-standard), et leur utilisation est essentiellement obsolète:
Dans PostgreSQL 8.1 default_with_oids est
désactivé par défaut; dans les versions antérieures de
PostgreSQL, c'était par défaut.
L'utilisation de l'Oid dans les tables de l'utilisateur est
considéré comme obsolète, de sorte que la plupart
les installations doivent quitter ce
variable désactivé. Les Applications qui
exiger des Oid pour une table particulière
devrait préciser AVEC les OID lors de la création d'
la table. Cette variable peut être
activé pour la compatibilité avec les anciens
les applications qui ne suivent pas ce
comportement.