Toda tabela possui diversas colunas do sistema, as quais são implicitamente definidas pelo sistema. Portanto, estes nomes não podem ser utilizados como nomes de colunas definidas pelo usuário (deve ser observado que esta restrição é diferente do nome ser uma palavra chave ou não; colocar o nome entre aspas não faz esta restrição deixar de ser aplicada). Não há necessidade dos usuários se preocuparem com estas colunas, basta apenas saber que elas existem.
pg_class
para obter o nome da tabela.
Os OIDs são quantidades de 32 bits atribuídas a partir de um contador único para todo o agrupamento de bancos de dados. Em um banco de dados grande ou existente há muito tempo, é possível que o contador recomece. Portanto, é má prática assumir que os OIDs sejam únicos, a menos que sejam realizados procedimentos para garantir que este seja o caso. A prática recomendada para utilizar OIDs como identificador de linha é criar uma restrição de unicidade na coluna OID em todas as tabelas onde OID é utilizado. Nunca se deve assumir que os OIDs sejam únicos entre tabelas; deve ser utilizada a combinação do tableoid com o OID de linha se for necessário um identificador para todo o banco de dados (As versões futuras do PostgreSQL provavelmente utilizarão contadores de OID separados para cada tabela, fazendo com que tableoid tenha que ser incluído para obter um identificador único global).
Os identificadores das transações também são quantidades de 32 bits. Em um banco de dados existente há muito tempo é possível que os IDs de transação recomecem. Este problema não é fatal se forem obedecidos os procedimentos apropriados de manutenção; veja o Capítulo 21 para obter detalhes. Entretanto, não é aconselhado depender da unicidade dos IDs de transação por um longo período de tempo (mais de um bilhão de transações).
Os identificadores de comando também são quantidades de 32 bits, criando um limite de 232 (4 bilhões) de comandos SQL dentro de uma única transação. Na prática este limite não é um problema — deve ser observado que o limite diz respeito ao número de comandos SQL, e não ao número de linhas processadas.