O que é um OID? O que é um CTID?

Compartilhe esta Faq!

O que é um OID? O que é um CTID?

Se uma tabela é criada com WITH OIDS, cada registro recebe um OID único. OIDs são automaticamente atribuídos como inteiros de 4 bytes que são únicos ao longo de toda instalação. Contudo, eles são limitados em 4 bilhões e, então, os OIDs começam a ser duplicados. O PostgreSQL utiliza OIDs para ligar as tabelas do sistema.

Para numerar registros nas tabelas do usuários, é melhor utilizar SERIAL ao invés de OIDs porque sequências SERIAL são únicas somente em uma tabela; e são menos propícias a atingir o limite. SERIAL8 está disponível para armazenar valores de sequências com oito bytes.

CTIDs são utilizados para identificar registros físicos específicos com valores de block e deslocamento. CTIDs mudam após registros serem modificados ou recarregados. Eles são utilizados por índices para apontar registros físicos.



Faqs relacionadas