TIPOS DE DATOS EN 
POSTGRES 
DIEGO CCALLA AUQUI
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
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
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
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
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
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
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.
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)
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
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.
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.

Tipos de datos en postgres

  • 1.
    TIPOS DE DATOSEN POSTGRES DIEGO CCALLA AUQUI
  • 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 decaracteres  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 dedatos 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 deBoole  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 dedirecciones 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 decadenas 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 Tiposde 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.