São vários os tipos de dados numéricos no PostgreSQL. O tipo
Asmallint tem tamanho de armazenamento de 1 byte, que permite armazenar a faixa de valores inteiros de −128 a 127.
Bbigint é a escolha usual para números inteiros, pois oferece o melhor equilíbrio entre faixa de valores, tamanho de armazenamento e desempenho.
Cinteger tem tamanho de armazenamento de 4 bytes e pode armazenar valores na faixa de −32768 a 32767.
Dnumeric pode armazenar números com precisão variável de, no máximo, 100 dígitos.
Eserial é um tipo conveniente para definir colunas identificadoras únicas, semelhante à propriedade auto incremento.
Revelar gabarito e comentário▾
GabaritoE — serial é um tipo conveniente para definir colunas identificadoras únicas, semelhante à propriedade auto incremento.
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
PostgreSQL: Tipos Numéricos
Gabarito: letra E. O tipo serial é um atalho para criar colunas de incremento automático (auto increment), sendo uma conveniência equivalente a definir uma sequência e um valor padrão. As demais alternativas contêm erros nos tamanhos ou faixas de valores dos tipos numéricos do PostgreSQL.
A banca testa o conhecimento das características dos tipos numéricos: smallint, integer, bigint, numeric e serial. É essencial memorizar tamanhos e intervalos.
Tipo
Tamanho (bytes)
Faixa de valores (mínimo a máximo)
Observação principal
smallint
2
−32.768 a 32.767
Alternativa A erra tamanho (1 byte) e faixa (−128 a 127)
integer
4
−2.147.483.648 a 2.147.483.647
Alternativa C erra faixa (−32.768 a 32.767)
bigint
8
−9.223.372.036.854.775.808 a 9.223.372.036.854.775.807
Alternativa B erra ao dizer que é o "usual"
numeric
variável
até 131.072 dígitos antes da vírgula; 16.383 após
Alternativa D erra limite (100 dígitos)
serial
4 (implícito)
mesmo que integer (auto incremento)
Alternativa E correta: conveniência para auto incremento
Alternativa A — ❌ Incorreta
O smallint possui 2 bytes de armazenamento, e não 1 byte. Sua faixa correta é de −32.768 a 32.767, e não de −128 a 127 (que é a faixa do tinyint em outros bancos).
Alternativa B — ❌ Incorreta
O tipo usual para números inteiros é o integer (4 bytes), não o bigint. O bigint (8 bytes) é usado quando o intervalo do integer é insuficiente. A afirmação inverteu a recomendação.
Alternativa C — ❌ Incorreta
O integer tem tamanho de 4 bytes, mas sua faixa correta é de −2.147.483.648 a 2.147.483.647, e não de −32.768 a 32.767 (que é a faixa do smallint).
Alternativa D — ❌ Incorreta
O tipo numeric pode armazenar números com precisão variável de, no máximo, 131.072 dígitos antes da vírgula e 16.383 dígitos após a vírgula, e não apenas 100 dígitos. O limite de 100 dígitos está incorreto.
Alternativa E — ✅ Correta ⟵ GABARITO
O serial é um tipo de conveniência que cria uma coluna inteira com incremento automático, semelhante à propriedade AUTO_INCREMENT de outros bancos de dados. É amplamente utilizado para colunas de chave primária identificadoras.
NÃO CAIA NESSA!
A banca explora a confusão entre os intervalos e tamanhos dos tipos inteiros. O candidato deve decorar que smallint → 2 bytes (−32.768 a 32.767); integer → 4 bytes (−2.147.483.648 a 2.147.483.647); bigint → 8 bytes. Não confundir com os limites de outras bases.