2. 1. Tipos numéricos
Los tipos numéricos constan de dos, cuatro y ocho enteros de un byte
Nombre Tamaño de almacenamiento Descripción Rango
smallint 2 bytes pequeña rango entero -32,768-32.767
entero 4 bytes opción típica de número entero
-2147483.648 Mil a 2147.483647
millones
bigint 8 bytes a gran rango entero
-9223372036854775808-
9223372036854775807
decimal variables
precisión especificada por el usuario,
exacta
hasta 131.072 dígitos antes del
punto decimal; hasta 16.383
dígitos después del punto decimal
numérico variables
precisión especificada por el usuario,
exacta
hasta 131.072 dígitos antes del
punto decimal; hasta 16.383
dígitos después del punto decimal
reales 4 bytes precisión variable inexacta 6 dígitos decimales de precisión
doble precisión 8 bytes precisión variable inexacta 15 dígitos decimales de precisión
smallserial 2 bytes entero pequeño autoincremental 1-32767
serial 4 bytes entero autoincremental De 1 a 2147483647
BIGSERIAL 8 bytes entero grande autoincremental 1-9223372036854775807
3. 2. Tipos Monetarios
El tipo de dinero almacena una cantidad de moneda con una precisión fraccional fijo. La
precisión fraccionaria se determina por la base de datos de LC_MONETARY ajuste.
El rango que se muestra en la tabla asume que hay dos decimales. La entrada es
aceptada en una variedad de formatos, incluyendo enteros y literales de punto
flotante, así como el formato de moneda típica, tales como '$1,000.00‘.
La salida es por lo general en la última forma, pero depende de la configuración
regional.
Nombre
Tamaño de
almacenamiento
Descripción Rango
dinero 8 bytes cantidad de moneda -92233720368547758,08-92233720368547758,07
4. 3. Conjuntos de caracteres
Postgres define dos tipos de caracteres primarios: carácter variable (n) y el
carácter (n), donde n es un entero positivo.
Nombre Descripción
carácter variable (n), varchar (n) de longitud variable con límite
carácter (n), char (n) de longitud fija, acolchada en blanco
texto variable de longitud ilimitada
Tipos de carácter especial:
Nombre Tamaño de almacenamiento Descripción
"Char" 1 byte
de un solo byte de tipo
interno
Nombre 64 bytes
tipo interno para nombres de
objeto
5. 4. Tipos de datos binarios
Una cadena binaria es una secuencia de octetos (o bytes).
Las cadenas binarias permiten específicamente almacenar octetos de valor
cero y otros octetos no imprimibles.
El tipo bytea admite 2 formatos externos de entrada y salida: El historico
formato de escape y el formato hex .
El formato de salida dependerá del parámetro de
configuración bytea_output, el valor predeterminado es hexadecimal.
Nombre Tamaño de almacenamiento Descripción
bytea
1 o 4 bytes más la cadena binaria
real
de longitud variable cadena binaria
6. 5. Fecha / Tiempo
PostgreSQL soporta el conjunto completo de fecha y hora
Nombre
Tamaño de
almacenamiento
Descripción Bajo Valor Alto Valor Resolución
timestamp [(p)] [si
n zona horaria]
8 bytes
tanto la fecha y
la hora (sin zona
horaria)
4713 aC 294276 AD
1 microsegundo /
14 dígitos
timestamp [(p)] co
n zona horaria
8 bytes
tanto la fecha y
la hora, con la
zona horaria
4713 aC 294276 AD
1 microsegundo /
14 dígitos
fecha 4 bytes
fecha (sin la hora
del día)
4713 aC 5874897 AD 1 día
tiempo [(p)] [sin
zona horaria]
8 bytes
hora del día (sin
fecha)
00:00:00 24:00:00
1 microsegundo /
14 dígitos
tiempo [(p)] con la
zona horaria
12 bytes
tiempos de sólo
día, con la zona
horaria
00: 00: 00 + 1459 24: 00: 00-1459
1 microsegundo /
14 dígitos
intervalo [campos]
[(p)]
16 bytes
intervalo de
tiempo
-178000000 Años 178000000 año
1 microsegundo /
14 dígitos
7. 6. Tipo de Boole
PostgreSQL proporciona el tipo SQL boolean estándar.
El tipo boolean puede tener 3 estados: True, false y desconocido que esta
representado por el valor nulo de SQL.
Los espacios Iniciales o finales en blanco se ignora, y el caso no importa.
Nombre Tamaño de almacenamiento Descripción
boolean 1 byte estado de verdadero o falso
8. 7. Tipos enumerados
Son los tipos de datos que comprenden una estática y un conjunto
ordenado de valores.
Son equivalentes a los tipos de enumeración apoyados en varios lenguajes
de programación.
Un ejemplo de un tipo de enumeración podría ser los días de la semana, o
un conjunto de valores de estado para una pieza de datos.
Se crean mediante el comando CREATE TYPE.
Una vez creada, el tipo de enumeración se puede utilizar en definiciones
de tablas y funcionan como cualquier otro tipo.
Cada tipo de datos enumerado es independiente y no se puede comparar
con otros tipos enumerados.
9. 8. Tipos geométricos
Representan objetos espaciales bidimensionales.
El tipo más fundamental es el punto, forma la base para todos los otros
tipos.
Nombre
Tamaño de
almacenamiento
Representación Descripción
punto 16 bytes Punto en un avión (X, y)
línea 32 bytes
Línea infinita (no aplicado
plenamente)
((X1, y1), (x2, y2))
lseg 32 bytes Segmento de línea Finitos ((X1, y1), (x2, y2))
cuadro 32 bytes Caja rectangular ((X1, y1), (x2, y2))
camino 16 + 16n bytes
Trayectoria cerrada
(similar a polígono)
((X1, y1), ...)
camino 16 + 16n bytes Camino abierto [(X1, y1), ...]
polígono 40 + 16n bytes
Polygon (similar a la
trayectoria cerrada)
((X1, y1), ...)
círculo 24 bytes Círculo <(X, y), r> (centro y radio)
10. 9. Tipos de direcciones de red
PostgreSQL ofrece tipos de datos para almacenar IPv4, IPv6 y direcciones
MAC.
Es mejor utilizar estos tipos en lugar de tipos de texto sin formato para
almacenar las direcciones de red, debido a que estos tipos ofrecen la
comprobación de errores de entrada y operadores y funciones
especializadas.
Nombre Tamaño de almacenamiento Descripción
cidr 7 o 19 bytes Redes IPv4 e IPv6
inet 7 o 19 bytes IPv4 e IPv6 hosts y redes
macaddr 6 bytes Direcciones MAC
11. 10. Tipos de cadenas de bits
Las cadenas de bits son cadenas de 1 y 0. Pueden ser utilizados para
almacenar o visualizar máscaras de bits. Hay dos tipos de bits de SQL: bit
(n) y el bit variable (n), donde n es un entero positivo.
Un valor cadena de bits requiere 1 byte para cada grupo de 8 bits, además
de 5 o 8 bytes de sobrecarga en función de la longitud de la cadena.
Los datos del tipo de bits deben de coincidir con la longitud n
exactamente.
Escribir bits sin longitud es equivalente a bit (1)
El bit variable sin una especificación de longitud significa la longitud
ilimitada.
12. 11. Texto Tipos de búsqueda
PostgreSQL ofrece dos tipos de datos que están diseñados para apoyar la
búsqueda de texto completo.
El tipo tsvector representa un documento en una forma optimizada para
búsqueda de texto. Es una lista ordenada de los lexemas diferentes, que son las
palabras que se han normalizado para combinar diferentes variantes de la misma
palabra
El tipo tsquery representa igualmente un texto de la consulta. Son lexemas que se
van a ser buscados, y los combina en honor a los operadores booleanos. Los
paréntesis se pueden utilizar para hacer cumplir agrupación de los operadores.