Hab ich OIDs und PKs richtig verstanden?

Die OID’s in PostgreSQL waren früher (bis vielleicht Version 7.3 oder 7.4 oder so, lange her) Default. Die OID war dabei Unique über den kompletten DB-Cluster, jeder Record einer jeden Tabelle hatte seine OID, 32Bit. Und sie sorgten immer wieder für Ärger, das auszurollen erspare ich mir jetzt. Von daher sind diese jetzt nur noch aus Kompatibilitätsgünden da, default werden keine mehr angelegt.

Aber Fakt ist auch: jede Tabelle sollte einen PK haben, ja. das kann ein Serial sein oder auch ein natürlicher Wert, egal.