Types de données de la plage intégrée de PostgreSQL

Types de données de la plage intégrée de PostgreSQL
La série séquentielle de données est appelée données de plage. La base de données PostgreSQL prend en charge une gamme de types de données qui est une caractéristique unique de cette base de données. La plage et les types de données multi-plans sont introduits dans la version 14 PostgreSQL. Ce type de données stocke les valeurs inférieures et supérieures. L'entier ou la valeur d'horodatage peut être stocké dans le domaine de ce type de données. Lorsqu'il doit stocker de nombreuses valeurs dans une valeur unique, il est préférable d'utiliser le type de données de plage. La gamme intégrée de types de données prises en charge par PostgreSQL a été mentionnée ci-dessous.
Types de gamme But
Int4Range Il définit la gamme d'entiers.
int4MultiRange Il définit les entiers multi-plans.
Int8Range Il définit la gamme de grands entiers.
int8MultiRange Il définit les grands entiers multi-plans.
nombir Il définit la gamme de nombres.
nummultirange Il définit le multi-gamme de nombres.
tsrangement Il définit la gamme de horodatage sans le fuseau horaire.
tsmultirange Il définit le multi-gamme de l'horodatage sans le fuseau horaire.
tstzrange Il définit la gamme de horodatage avec le fuseau horaire.
tstzmultirange Il définit le multi-gamme de l'horodatage avec le fuseau horaire.
dater Il définit la plage de date.
DateMultiRange Il définit le multi-gamme de date.

Conditions préalables:

Vous devez installer la dernière version des packages PostgreSQL sur le système d'exploitation Linux avant d'exécuter les instructions SQL affichées dans ce tutoriel. Exécutez les commandes suivantes pour installer et démarrer le postgresql:

$ sudo apt-get -y installer postgresql postgresql-contrib
$ sudo systemctl start postgresql.service

Exécutez la commande suivante pour vous connecter à PostgreSQL avec l'autorisation racine:

$ sudo -u postgres psql

Exemples de types de données de la plage postgresql:

Avant de créer une table avec le type de données booléen, vous devez créer une base de données postgresql. Alors, exécutez la commande suivante pour créer une base de données nommée 'TestDB':

# Créer une base de données testdb;

La sortie suivante apparaîtra après avoir créé la base de données:

UN. Utilisation du type de données de la plage entière
Créer une table nommée 'tbl_intrange' Dans la base de données actuelle avec deux champs. Ici, le premier nom de champ est identifiant qui est la clé principale du tableau. La valeur de ce champ sera incrémentée automatiquement lorsqu'un nouvel enregistrement inséra. Le deuxième nom de champ est Int_Range et le type de données est Int4Range.

# Créer une table tbl_intrange (
Clé primaire en série ID,
int_range int4Range);

La sortie suivante apparaîtra si le tableau est créé avec succès.

Exécutez la requête d'insertion suivante pour insérer trois enregistrements dans le tbl_intrange tableau:

# Insérer dans TBL_INTRange (int_range)
Valeurs ('[1, 10)' :: int4Range),
('[1, 20)' :: int4Range),
('[1, 30)' :: int4Range);

La sortie suivante apparaîtra après avoir exécuté la requête ci-dessus:

Exécutez la requête de sélection suivante pour lire tous les enregistrements dans le tbl_intrange:

# Select * from tbl_intrange;

Exécutez la requête de sélection suivante pour lire ces enregistrements dans le tbl_intrangeInt_Range est supérieur à 12:

# SELECT * FROM TBL_INTRange où int_range @> 12;

La sortie suivante apparaîtra après avoir exécuté les requêtes de sélection ci-dessus:

B. Utilisation du type de données de la plage numérique
Créer une table nommée 'tbl_numRange' Dans la base de données actuelle avec deux champs. Ici, le premier nom de champ est identifiant qui est la clé principale du tableau. La valeur de ce champ sera incrémentée automatiquement lorsqu'un nouvel enregistrement inséra. Le deuxième nom de champ est NUM_RANGE et le type de données est Nombir.

# Créer la table tbl_numRange (
Clé primaire en série ID,
num_range numRange);

Exécutez la requête d'insertion suivante pour insérer trois enregistrements dans le tbl_numRange tableau:

# INSERT INTO TBL_NUMRANGE (NUM_RANGE)
Valeurs (numRange (20, 40)),
(numRange (100, 500));

La sortie suivante apparaîtra après avoir exécuté les requêtes ci-dessus:

Exécutez la requête de sélection suivante qui lira tous les enregistrements dans le tbl_numRange:

# Select * from tbl_numRange;

La sortie suivante apparaîtra après avoir exécuté la requête de sélection ci-dessus:

C. Utilisation du type de données de la plage d'horodatage
Créer une table nommée 'tbl_timerange' Dans la base de données actuelle avec deux champs. Ici, le premier nom de champ est identifiant qui est la clé principale du tableau. La valeur de ce champ sera incrémentée automatiquement lorsqu'un nouvel enregistrement inséra. Le deuxième nom de champ est intervalle de temps et le type de données est Tsrangement.

# Créer une table tbl_timerange (
Clé primaire en série ID,
Timerange tsrange);

Exécutez la requête d'insertion suivante pour insérer trois enregistrements dans le tbl_timerange tableau:

# Insérer dans TBL_TIMERANGE (Timerange)
Valeurs ('[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 sortie suivante apparaîtra après avoir exécuté les requêtes ci-dessus:

Exécutez la requête de sélection suivante qui lira tous les enregistrements dans le TBL_TIMERANGE:

# Select * from tbl_timerange;

La sortie suivante apparaîtra après avoir exécuté la requête de sélection ci-dessus:

D. Utilisation du type de données de la plage de dates
Créer une table nommée 'tbl_daterange' Dans la base de données actuelle avec deux champs. Ici, le premier nom de champ est identifiant qui est la clé principale du tableau. La valeur de ce champ sera incrémentée automatiquement lorsqu'un nouvel enregistrement inséra. Le deuxième nom de champ est DATE_RANGE et le type de données est Dater.

# Créer la table TBL_DATERANGE (
Clé primaire en série ID,
DATE_RANGE DATERANGE);

Exécutez la requête d'insertion suivante pour insérer trois enregistrements dans le tbl_daterange tableau:

# Insérer dans TBL_DATERANGE (DATE_RANGE)
Valeurs ('[2022-05-20, 2022-05-21)'),
('[2022-07-10, 2022-07-15)'),
('[2022-12-01, 2022-12-16)');

La sortie suivante apparaîtra après avoir exécuté les requêtes ci-dessus:

Exécutez la requête de sélection suivante qui lira tous les enregistrements dans le tbl_daterange:

# Select * from tbl_daterange;

Exécutez la requête de sélection suivante qui lira ces enregistrements dans le tbl_daterange où la valeur de date de le date_range le champ est plus grand que '2002-07-13'.

# SELECT * FROM TBL_DATERANGE où DATE_RANGE @> '2022-07-13' :: DATE;

La sortie suivante apparaîtra après avoir exécuté les requêtes ci-dessus:

Conclusion:

Différentes utilisations des types de données de plage de PostgreSQL ont été montrées dans ce tutoriel en utilisant plusieurs tables. Les nouveaux utilisateurs de PostgreSQL pourront utiliser la gamme de types de données dans leurs tableaux après avoir lu ce tutoriel.