Tipos de Datos de Postgres
Tipos de Datos de Postgres
Tipos de Datos de Postgres
Postgres tiene un conjunto muy completo de tipos de datos. el comando \dt de psql lista los
tipos de datos disponibles. Vamos a ver ahora los ms utilizados.
El tipo boolean o bool almacena valores lgicos. Los valores TRUE, 't', 'true', 'y', 'yes'
y '1' son tomados como cierto y pueden ser nulos.
El tipo smallint o int2 almacena enteros con signo entre -32768 y 32767.
El tipo integer, int o int4 almacena enteros con signo de aproximadamente 18 dgitos.
El tipo bit almacena uno de los valores 0 o 1. Las constantes de tipo bit se escriben
B'0' y B'1'.
El tipo bit varying o varbit(n) almacena secuencias de bits. Las constantes de este
tipo se escriben B'011'
El tipo numeric(presicin, escala) almacena nmeros exactos con la presicin
indicada.
El tipo real o float4 almacena nmeros punto flotante de 4 bytes.
El tipo double precision o float8 almacena nmeros punto flotante de 8 bytes.
El tipo money es equivalente a numeric(9,2) y ocupa 4 bytes, pero se desaconseja su
utilizacin.
El tipo timestamp o datetime almacena fechas y horas entre 4713 A. C. y 1465001
con una resolucin de un milisegundo.
El tipo interval almacena un intervalo de aproximadamente +/-178 millones de aos
con resolucin de un milisegundo.
El tipo date almacena fechas entre 4713 a. C. y 32767 con resolucin de un da.
El tipo time almacena la hora del da entre 0 y 23:59:59.99 con resolucin de 1
microsegundo.
El tipo char, character o bpchar almacena un caracter.
El tipo char(n) o bpchar(n) almacena exactamente n caracteres con relleno de
espacios si se almacenan menos caracteres.
El tipo character varying(n) o varchar(n) almacena un nmero variable de caracteres
hasta un mximo de n.
El tipo text almacena texto de tamao arbitrario.
A continuacin mostramos un listado de los tipos de datos (data types) del motor de base de
datos gratuito PostgreSQL. Mostramos los tipos de datos de carcter o propsito general, los
ms habituales:
money Moneda
Tama
Nombre Descripcin Rango
o
2
smallint Entero de rango pequeo De -32768 a +32767
bytes
8 De -9223372036854775808 a
bigint Entero de rango largo
bytes 9223372036854775807
4 Variable/precisin,
real 6 dgitos decimales de precisin
bytes inexacto
4
serial Autoincremento simple De 1 a 2147483647
bytes
8
bigserial Autoincremento largo De 1 a 9223372036854775807
bytes
Nombre Descripcin
Nombr
Tamao Descripcin
e
Tama
Nombre Descripcin Valor bajo Valor alto Resolucin
o
4
date Slo fecha 4713 BC 32767 AD 1 da
bytes
time [ (p) ]
8 Slo hora del 23:59:59.9 1
[ sin zona 00:00:00.00
bytes da 9 microsegundo
horaria]
Horas del da
time [ (p) ] con 12 00:00:00.00 23:59:59.9 1
con zona
zona horaria bytes +12 9-12 microsegundo
horaria
Nombr
Tamao Representacin Descripcin
e
bytes plano
polygo 40+16n
Plgono (similar a trazado cerrado) ((x1,y1),...)
n bytes
<(x,y),r> (centro y
circle 24 bytes Crculo
radio)
Fuente: http://www.ajpdsoft.com/modules.php?name=News&file=article&sid=499
cadena de carcteres de
char(n) character(n)
tamao fijo
cadena de carcteres de
varchar(n) character varying(n)
tamao variable
Tabla 8.2: Tipos de datos extendidos por PostgreSQL
Tipo Descripcin
Coma flotante
La representacin de coma flotante (en ingls floating point, que significa punto flotante) es
una forma de notacin cientfica usada en los microprocesadores con la cual se pueden
representar nmeros racionales extremadamente grandes y pequeos de una manera muy
eficiente y compacta, y con la que se pueden realizar operaciones aritmticas. El estndar
para la representacin en coma flotante es el IEEE 754.
5 -3 5 10-3 0.005
El estndar
Nmero Nmero
Bits Bits Bits del
Formato ms ms
totales significativos exponente
pequeo grande
Precisin ~3.4
32 23 + 1 signo 8 ~1.2 10-38
sencilla 1038
Hay valores diferentes para cero positivo y cero negativo. Estos difieren en el
bit del signo, mientras que todos los dems son 0. Deben ser considerados
iguales aunque sus secuencias de bits sean diferentes.