Mejores prácticas para tipos de datos
Las elecciones de tipo son decisiones de esquema con las que vives durante años.
Cómo usar esta lista
- Decide en el diseño de la tabla; evita ampliaciones silenciosas con ALTER.
- Documenta en ADR para dinero y zona horaria.
A - Escalares
- Usa numérico para dinero. Decimales exactos.
- Prefiere text sobre varchar a menos que esté restringido. Mismo rendimiento.
- bigint para claves sustitutas a escala. Evita desbordamientos.
B - Hora e IDs
- timestamptz para eventos. Almacenamiento en UTC.
- uuid o bigint identity para PKs. Elige uno por tabla.
- Evita timestamp sin zona horaria. Tiempos locales ambiguos.
C - Semi-estructurados
- jsonb para facetas opcionales. No la entidad completa.
- GIN solo para rutas de consulta probadas. El costo del índice es real.
- CHECK jsonb_typeof cuando la forma importa. Detecta escrituras incorrectas temprano.
Preguntas frecuentes
¿Puedo cambiar las etiquetas de enum fácilmente?
Renombrar está bien; eliminar valores es difícil. Prefiere tablas de búsqueda si las etiquetas cambian con frecuencia.
Relacionados
- Conceptos básicos de tipos de datos - recorrido
- Mejores prácticas de diseño de esquemas - restricciones
Versiones de Stack: Esta página fue escrita para PostgreSQL 18.4 (estable 18, mantenimiento 17), pgvector 0.8+, PgBouncer 1.x, Patroni 3.x y PostGIS 3.5+.