Tipos de Datos en PostgreSQL – Parte 1

5 minuto(s)

PostgreSQL brinda diferentes tipos de datos que permiten almacenar los necesarios de una aplicación o proyecto. A diferencia de MySQL, PostgreSQL cuenta con más tipos de datos, se podría decir que es una base de datos más avanzada que MySQL. El que PostgreSQL tenga más datos, puede significar que tomará un poco más de tiempo aprender PostgreSQL, pero esto no quiero decir que sea imposible de hacerlo. En este artículo te compartiré los Tipos de Datos en PostgreSQL, vamos con ello.

Parte

Base de Datos PostgreSQL
Es importante saber definir los tipos de datos correctos en una base de datos

Antes de continuar, te invito a escuchar el Podcast: “Con Que Lenguaje De Programación Comenzar Para El Desarrollo Web” “¿ Se Debe Escuchar Música Mientras Se Programa ?” (Spotify for Podcasters): 

Spotify: Sound Cloud: Apple Podcasts Spotify for Podcasters

Bien ahora continuemos con el Post: Tipos de Datos en PostgreSQL – Parte 1.

Tipos de Datos en PostgreSQL

Para compartir los tipos de datos de PostgreSQL tomaré como base la documentación oficial de PostgreSQL. La mayoría de tipos de datos que se comparten en Nube Colectiva, se hacen empleando las documentaciones oficiales y por ende es contenido veraz e inmutable. Veamos a continuación los tipos de datos de PostgreSQL:

Tipos numéricos

Los tipos numéricos constan de enteros de dos, cuatro y ocho bytes, números de punto flotante de cuatro y ocho bytes y decimales de precisión seleccionable.

Nombre Tamaño de Almacenamiento Descripción Rango
smallint 2 bytes Entero de rango pequeño -32768 a +32767
integer 4 bytes Opción típica para entero -2147483648 al +2147483647
bigint 5 bytes Entero de rango grande -9223372036854775808 al +9223372036854775807
decimal variable Precisión especificada por el usuario, exacta Hasta 131072 dígitos antes del punto decimal; hasta 16383 dígitos después del punto decimal
numeric variable Precisión especificada por el usuario, exacta Hasta 131072 dígitos antes del punto decimal; hasta 16383 dígitos después del punto decimal
real 4 bytes De precisión variable, inexacta Precisión de 6 dígitos decimales
double precision 8 bytes De precisión variable, inexacta Precisión de 15 dígitos decimales
smallserial 2 bytes Pequeño entero autoincrementable 1 a 32767
serial 4 bytes Entero autoincrementable 1 al 2147483647
bigserial 8 bytes Entero autoincrementable grande 1 al 9223372036854775807

Veamos a hora los tipo de datos monetarios.

Tipos monetarios

El tipo money almacena una cantidad de moneda con una precisión fraccionaria fija. La precisión fraccionaria está determinada por la configuración lc_monetary de la base de datos. El rango que se muestra en la tabla asume que hay dos dígitos fraccionarios. La entrada se acepta en una variedad de formatos, incluidos los literales enteros y de punto flotante, así como el formato de moneda típico, como ‘$1,000.00’. La salida es generalmente en la última forma, pero depende de la configuración regional.

Nombre Tamaño de almacenamiento Descripción Rango
money 8 bytes Cantidad de moneda -92233720368547758.08 al +92233720368547758.07

Dado que la salida de este tipo de datos es sensible a la configuración regional, es posible que no funcione para cargar datos money en una base de datos que tenga una configuración diferente de lc_monetary. Para evitar problemas, antes de restaurar un volcado en una base de datos nueva, asegúrate que lc_monetary tenga el mismo valor o un valor equivalente al de la base de datos que se volcó.

Tipos Character

A continuación veamos los tipos de characters (caracteres) de propósito general disponibles en PostgreSQL:

Nombre Descripción
character varying(n), varchar(n) Longitud variable con límite
character(n), char(n) Largo fijo, acolchado en blanco
text Longitud ilimitada variable

SQL define dos tipos de caracteres primarios: character varying(n) y character(n), donde n es un entero positivo. Ambos tipos pueden almacenar cadenas de hasta n caracteres (no bytes) de longitud. Un intento de almacenar una cadena más larga en una columna de estos tipos generará un error, a menos que los caracteres sobrantes sean todos espacios, en cuyo caso la cadena se truncará a la longitud máxima. (Esta excepción un tanto extraña es requerida por el estándar SQL ).

Si la cadena que se va a almacenar es más corta que la longitud declarada, los valores de tipo character se rellenarán con espacios; los valores de tipo character-varying simplemente almacenarán la cadena más corta.

Tipos binarios

El tipo de datos bytea permite el almacenamiento de cadenas binarias.

Nombre Tamaño de almacenamiento Descripción
bytea 1 o 4 bytes más la cadena binaria real Cadena binaria de longitud variable

Una cadena binaria es una secuencia de octetos (o bytes). Las cadenas binarias se distinguen de las cadenas de caracteres de dos maneras. Primero, las cadenas binarias permiten específicamente almacenar octetos de valor cero y otros octetos “no imprimibles” (generalmente, octetos fuera del rango decimal 32 a 126). Las cadenas de caracteres no permiten cero octetos y tampoco permiten ningún otro valor de octeto y secuencias de valores de octeto que no sean válidos según la codificación del juego de caracteres seleccionado de la base de datos.

En segundo lugar, las operaciones en cadenas binarias procesan los bytes reales, mientras que el procesamiento de cadenas de caracteres depende de la configuración regional. En resumen, las cadenas binarias son apropiadas para almacenar datos que el programador considera “bytes sin procesar”., mientras que las cadenas de caracteres son apropiadas para almacenar texto.

El tipo bytea admite dos formatos de entrada y salida: el formato “hexadecimal” y el formato histórico de “escape” de PostgreSQL . Ambos siempre se aceptan en la entrada. El formato de salida depende del parámetro de configuración bytea_output; el valor predeterminado es hexadecimal. (Ten en cuenta que el formato hexadecimal se introdujo en PostgreSQL 9.0; las versiones anteriores y algunas herramientas no lo soportan).

Bien hasta aquí llegamos con esta primera Parte en donde hemos visto un primer grupo de Tipos de Datos en PostgreSQL.

Ten Paciencia, lo que quiero es que conozcas bien como se crea este proyecto y no llenarte el capitulo de mucho contenido porque te puedes marear y no tendrás un óptimo aprendizaje.

Nota (s)

  • En la siguiente parte continuaremos viendo otros Tipos de Datos en PostgreSQL.
  • No olvides que debemos usar la Tecnología para hacer cosas Buenas por el Mundo.

 

Síguenos en nuestras Redes Sociales para que no te pierdas nuestros próximos contenidos.