OIDs ainda estão em uso no Postgres com grandes objetos (embora algumas pessoas argumentem que objetos grandes geralmente não são úteis). Eles também são usados extensivamente pelas tabelas do sistema . Eles são usados, por exemplo, pelo TOAST, que armazena mais de 8 KB de BYTEA (etc.) em uma área de armazenamento separada (transparente), que é usada por padrão em todas as tabelas . Seu uso direto associado a tabelas de usuários "normais" é basicamente preterido .
O tipo oid é atualmente implementado como um número inteiro de quatro bytes não assinado. Portanto, não é grande o suficiente para fornecer exclusividade em todo o banco de dados em bancos de dados grandes ou mesmo em tabelas individuais grandes. Portanto, não é recomendável usar a coluna OID de uma tabela criada pelo usuário como chave primária. Os OIDs são melhor utilizados apenas para referências a tabelas do sistema.
Aparentemente, a sequência OID "quebra" se exceder 4B 6 . Então, em essência, é um contador global que pode quebrar. Se isso acontecer, pode ocorrer um abrandamento quando for usado e "pesquisado" por valores exclusivos, etc.
Veja também https://wiki.postgresql.org/wiki/FAQ#What_is_an_OID.3F
old
coluna do sistema .