Resumen: en este tutorial, usted aprenderá sobre los tipos de datos de caracteres de PostgreSQL incluyendo CHAR, VARCHAR, y TEXT, y aprenderá a seleccionar los tipos de caracteres correctos para sus tablas.

Introducción a los tipos de caracteres de PostgreSQL

PostgreSQL proporciona tres tipos de caracteres primarios: CHARACTER(n) o CHAR(n), CHARACTER VARYINGING(n) o VARCHAR(n), y TEXT, donde n es un entero positivo.

La siguiente tabla illstrate los tipos de caracteres en PostgreSQL:

Tipos de caracteres Descripción
CHARACTER VARYING(n), VARCHAR(n) longitud variable con límite de longitud
CHARACTER(n), CHAR(n) longitud fija, con relleno en blanco
TEXT, VARCHAR variable de longitud ilimitada

Tanto CHAR(n) como VARCHAR(n) pueden almacenar hasta n caracteres. Si intenta almacenar una cadena que tenga más de n caracteres, PostgreSQL emitirá un error.

Sin embargo, una excepción es que si los caracteres excesivos son todos espacios, PostgreSQL trunca los espacios hasta la longitud máxima (n) y almacena los caracteres.

Si una cadena se convierte explícitamente en CHAR(n) o VARCHAR(n), PostgreSQL truncará la cadena a n caracteres antes de insertarla en la tabla.

El tipo de datos TEXT puede almacenar una cadena con longitud ilimitada.

Si no se especifica el número entero n para el tipo de datos VARCHAR, se comporta como el tipo de datos TEXT. El rendimiento de la VARCHAR (sin el tamaño n) y TEXT es el mismo.

La única ventaja de especificar el especificador de longitud para el tipo de datos VARCHAR es que PostgreSQL emitirá un error si se intenta insertar una cadena que tenga más de n caracteres en la columna VARCHAR(n).

A diferencia de VARCHAR, El CHARACTER o CHAR sin el especificador de longitud (n) es el mismo que el CHARACTER(1) o CHAR(1).

A diferencia de otros sistemas de bases de datos, en PostgreSQL, no hay diferencia de rendimiento entre tres tipos de caracteres.

En la mayoría de los casos, debe utilizar TEXTo VARCHAR. Y se utiliza el VARCHAR(n) cuando se quiere que PostgreSQL compruebe la longitud.

Ejemplos de tipos de caracteres de PostgreSQL

Veamos un ejemplo para ver cómo funcionan los tipos de datos CHAR , VARCHAR y TEXT.

Primero, cree una nueva tabla llamada character_tests:

Code language: SQL (Structured Query Language) (sql)

Luego, inserte una nueva fila en la tabla character_tests.

Code language: SQL (Structured Query Language) (sql)

PostgreSQL emitió un error:

Code language: SQL (Structured Query Language) (sql)

Esto se debe a que el tipo de datos de la columna x es char(1) e intentamos insertar una cadena con tres caracteres en esta columna. Vamos a solucionarlo:

Code language: SQL (Structured Query Language) (sql)

PostgreSQL emite un error diferente:

Code language: Shell Session (shell)

Esto se debe a que intentamos insertar una cadena con más de 10 caracteres en la columna y que tiene el tipo de dato varchar(10).

La siguiente sentencia inserta una nueva fila en la tabla character_tests con éxito.

Code language: SQL (Structured Query Language) (sql)
Code language: SQL (Structured Query Language) (sql)
Code language: Shell Session (shell)

Resumen

  • PostgreSQL soporta los tipos de datos CHAR, VARCHAR y TEXT. El CHAR es un tipo de carácter de longitud fija mientras que el VARCHAR y el TEXT son tipos de carácter de longitud variable.
  • Use VARCHAR(n) si desea validar la longitud de la cadena (n) antes de insertar o actualizar en una columna.
  • VARCHAR (sin el especificador de longitud) y TEXT son equivalentes.
  • ¿Ha sido útil este tutorial?
  • SíNo

Deja una respuesta

Tu dirección de correo electrónico no será publicada.