Tipos de datos de rango incorporado de PostgreSQL

Tipos de datos de rango incorporado de PostgreSQL
La serie secuencial de datos se llama datos de rango. La base de datos PostgreSQL admite una variedad de tipos de datos que es una característica única de esta base de datos. El rango y los tipos de datos de rango múltiple se introducen en la versión 14 de PostgreSQL. Este tipo de datos almacena los valores inferiores y superiores. El entero o el valor de la marca de tiempo se pueden almacenar en el campo de este tipo de datos. Cuando se requiere almacenar muchos valores en un valor de rango único, entonces es mejor usar el tipo de datos de rango. La gama incorporada de tipos de datos compatibles con PostgreSQL se ha mencionado a continuación.
Tipos de rango Objetivo
int4range Define el rango de enteros.
int4multirange Define los enteros de rango múltiple.
int8range Define el rango de enteros grandes.
int8multirange Define los grandes enteros de rango múltiple.
numor Define el rango de números.
nummultirange Define el rango múltiple de los números.
rango Define el rango de marca de tiempo sin la zona horaria.
tsmultirange Define la rango múltiple de la marca de tiempo sin la zona horaria.
TSTZRANGE Define el rango de marca de tiempo con la zona horaria.
tstzmultirange Define la rango múltiple de la marca de tiempo con la zona horaria.
rango de fechas Define el rango de fecha.
datemultirange Define la fecha múltiple de rango.

Requisitos previos:

Debe instalar la última versión de los paquetes PostgreSQL en el sistema operativo Linux antes de ejecutar las declaraciones SQL que se muestran en este tutorial. Ejecute los siguientes comandos para instalar e iniciar el PostgreSQL:

$ sudo apt-get -y instalación postgresql postgresql-contrib
$ sudo systemctl iniciar postgresql.servicio

Ejecute el siguiente comando para iniciar sesión en PostgreSQL con permiso raíz:

$ sudo -u postgres psql

Ejemplos de tipo de datos de rango postgreSQL:

Antes de crear cualquier tabla con el tipo de datos booleanos, debe crear una base de datos PostgreSQL. Entonces, ejecute el siguiente comando para crear una base de datos con nombre 'TestDB':

# Crear base de datos TestDB;

La siguiente salida aparecerá después de crear la base de datos:

A. Uso del tipo de datos de rango entero
Crea una tabla llamada 'TBL_INTRANGE' En la base de datos actual con dos campos. Aquí, el primer nombre de campo es identificación cuál es la clave principal de la tabla. El valor de este campo se incrementará automáticamente cuando un nuevo registro se insertará. El segundo nombre de campo es int_range y el tipo de datos es Int4range.

# Crear tabla tbl_intrange (
ID Clave primaria en serie,
int_range int4range);

La siguiente salida aparecerá si la tabla se crea con éxito.

Ejecute la siguiente consulta de inserción para insertar tres registros en el TBL_INTRANGE mesa:

# Insertar en TBL_Intrange (int_range)
Valores ('[1, 10)' :: int4range),
('[1, 20)' :: int4range),
('[1, 30)' :: int4Range);

La siguiente salida aparecerá después de ejecutar la consulta anterior:

Ejecute la siguiente consulta de selección para leer todos los registros del TBL_INTRANGE:

# SELECT * de tbl_Intrange;

Ejecute la siguiente consulta de selección para leer esos registros del TBL_INTRANGE DÓNDE int_range es mayor que las 12:

# Seleccionar * de tbl_intrange donde int_range @> 12;

La siguiente salida aparecerá después de ejecutar las consultas de selección anteriores:

B. Uso del tipo de datos de rango numérico
Crea una tabla llamada 'TBL_NUMRANGE' En la base de datos actual con dos campos. Aquí, el primer nombre de campo es identificación cuál es la clave principal de la tabla. El valor de este campo se incrementará automáticamente cuando un nuevo registro se insertará. El segundo nombre de campo es Num_Range y el tipo de datos es Numor.

# Crear tabla TBL_NUMRANGE (
ID Clave primaria en serie,
num_range numRange);

Ejecute la siguiente consulta de inserción para insertar tres registros en el TBL_NUMRANGE mesa:

# Insertar en TBL_NUMRANGE (NUM_RANGE)
Valores (numrange (20, 40)),
(numrange (100, 500));

La siguiente salida aparecerá después de ejecutar las consultas anteriores:

Ejecute la siguiente consulta de selección que leerá todos los registros del TBL_NUMRANGE:

# Seleccionar * de tbl_numRange;

La siguiente salida aparecerá después de ejecutar la consulta de selección anterior:

C. Uso del tipo de datos de rango de marca de tiempo
Crea una tabla llamada 'TBL_TIMERANGE' En la base de datos actual con dos campos. Aquí, el primer nombre de campo es identificación cuál es la clave principal de la tabla. El valor de este campo se incrementará automáticamente cuando un nuevo registro se insertará. El segundo nombre de campo es intervalo de tiempo y el tipo de datos es Rango.

# Crear tabla tbl_timerange (
ID Clave primaria en serie,
Timerange tsRange);

Ejecute la siguiente consulta de inserción para insertar tres registros en el TBL_TIMERANGE mesa:

# Insertar en TBL_TIMERANGE (TimeRange)
Valores ('[2022-05-20 10:20:30, 2022-05-21 10:20:15)'),
('[2022-09-13 9:30:15, 2022-09-14 11:10:20)');

La siguiente salida aparecerá después de ejecutar las consultas anteriores:

Ejecute la siguiente consulta de selección que leerá todos los registros del TBL_TIMERANGE:

# Seleccionar * de tbl_timerange;

La siguiente salida aparecerá después de ejecutar la consulta de selección anterior:

D. Uso del tipo de datos de rango de fechas
Crea una tabla llamada 'TBL_DATERANGE' En la base de datos actual con dos campos. Aquí, el primer nombre de campo es identificación cuál es la clave principal de la tabla. El valor de este campo se incrementará automáticamente cuando un nuevo registro se insertará. El segundo nombre de campo es rango de fechas y el tipo de datos es RANGO DE FECHAS.

# Crear tabla tbl_daterange (
ID Clave primaria en serie,
date_range daterange);

Ejecute la siguiente consulta de inserción para insertar tres registros en el TBL_DATERAGE mesa:

# Insertar en TBL_DATERANGE (date_range)
Valores ('[2022-05-20, 2022-05-21)'),
('[2022-07-10, 2022-07-15)'),
('[2022-12-01, 2022-12-16)');

La siguiente salida aparecerá después de ejecutar las consultas anteriores:

Ejecute la siguiente consulta de selección que leerá todos los registros del TBL_DATERANGE:

# Seleccionar * de tbl_daterange;

Ejecute la siguiente consulta de selección que leerá esos registros del TBL_DATERAGE donde el valor de la fecha de el date_range el campo es mayor que '2002-07-13'.

# Seleccionar *de tbl_daterange donde date_range @> '2022-07-13' :: fecha;

La siguiente salida aparecerá después de ejecutar las consultas anteriores:

Conclusión:

Se han mostrado diferentes usos de los tipos de datos de rango de PostgreSQL en este tutorial mediante el uso de múltiples tablas. Los nuevos usuarios de PostgreSQL podrán utilizar la gama de tipos de datos en sus tablas después de leer este tutorial.