PostgreSQL-integrierte Bereichsdatentypen

PostgreSQL-integrierte Bereichsdatentypen
Die sequentielle Datenreihe wird als Bereichsdaten bezeichnet. Die PostgreSQL -Datenbank unterstützt eine Reihe von Datentypen, was eine eindeutige Funktion dieser Datenbank darstellt. Der Bereich und die Mehrfachdatentypen werden in der PostgreSQL Version 14 eingeführt. Dieser Datentyp speichert die untere und die oberen Werte. Die Ganzzahl oder der Zeitstempelwert kann im Bereich dieses Datentyps gespeichert werden. Wenn es erforderlich ist, viele Werte in einem einzelnen Bereichswert zu speichern, ist es besser, den Bereich Datentyp zu verwenden. Der integrierte Bereich der Datentypen, die von PostgreSQL unterstützt werden, wurde unten erwähnt.
Bereichstypen Zweck
int4range Es definiert den Bereich der Ganzzahlen.
int4multirange Es definiert die Multi-Reichweite-Ganzzahlen.
int8range Es definiert die Reichweite großer Ganzzahlen.
int8multirange Es definiert die Multi-Reichweite großen Ganzzahlen.
Numrange Es definiert den Zahlenbereich.
nummultirange Es definiert den Mehrfachbereich von Zahlen.
tsrange Es definiert den Bereich des Zeitstempels ohne die Zeitzone.
tsmultirange Es definiert den Mehrfachbereich des Zeitstempels ohne Zeitzone.
tstzrange Es definiert den Zeitraum des Zeitstempels mit der Zeitzone.
tstzmultirange Es definiert den Mehrfachbereich des Zeitstempels mit der Zeitzone.
Datumsbereich Es definiert den Datumsbereich.
Datemultirange Es definiert die Mehrfachstrecke des Datums.

Voraussetzungen:

Sie müssen die neueste Version von PostgreSQL -Paketen auf dem Linux -Betriebssystem installieren, bevor Sie die in diesem Tutorial gezeigten SQL -Anweisungen ausführen. Führen Sie die folgenden Befehle aus, um die Postgresql zu installieren und zu starten:

$ sudo apt-get -y install postgresql postgresql-contrib
$ sudo systemctl starten postgresql.Service

Führen Sie den folgenden Befehl aus, um sich mit Root -Erlaubnis bei PostgreSQL anzumelden:

$ sudo -u postgres psql

Beispiele zum Datentyp von PostgreSQL -Bereich:

Bevor Sie eine Tabelle mit dem Booleschen Datentyp erstellen, müssen Sie eine PostgreSQL -Datenbank erstellen. Führen Sie also den folgenden Befehl aus, um eine Datenbank mit dem Namen zu erstellen "testdb":

# Datenbank testdb erstellen;

Nach dem Erstellen der Datenbank wird die folgende Ausgabe angezeigt:

A. Verwendung des ganzzahligen Bereichs Datentyp
Erstellen Sie eine Tabelle mit dem Namen 'Tbl_intrange' in der aktuellen Datenbank mit zwei Feldern. Hier ist der erste Feldname Ausweis Welches ist der Hauptschlüssel der Tabelle. Der Wert dieses Feldes wird automatisch erhöht, wenn ein neuer Datensatz eingefügt wird. Der zweite Feldname ist int_range und der Datentyp ist Int4range.

# Tabelle TBL_INTRANGE CREATE (
id serielle Primärschlüssel,
int_range int4range);

Die folgende Ausgabe wird angezeigt, wenn die Tabelle erfolgreich erstellt wird.

Führen Sie die folgende Abfrage aus, um drei Datensätze in die Einführung in die tbl_intrange Tisch:

# In tbl_intrange (int_range) einfügen
Werte ('[1, 10)' :: int4range),
('[1, 20)' :: int4range),
('[1, 30)' :: int4range);

Die folgende Ausgabe erscheint nach Ausführung der obigen Abfrage:

Führen Sie die folgende Auswahlabfrage aus, um alle Datensätze aus dem zu lesen tbl_intrange:

# Aus TBL_Intrange auswählen;

Führen Sie die folgende Auswahlabfrage aus, um diese Datensätze aus dem zu lesen tbl_intrange WO int_range ist größer als 12:

# Auswählen * von tbl_intrange where int_range @> 12;

Die folgende Ausgabe wird angezeigt, nachdem die oben genannten Abfragen ausgewählt wurden:

B. Verwendung des numerischen Bereichs Datentyp
Erstellen Sie eine Tabelle mit dem Namen 'Tbl_numrange' ' in der aktuellen Datenbank mit zwei Feldern. Hier ist der erste Feldname Ausweis Welches ist der Hauptschlüssel der Tabelle. Der Wert dieses Feldes wird automatisch erhöht, wenn ein neuer Datensatz eingefügt wird. Der zweite Feldname ist num_range und der Datentyp ist Numrange.

# Tabelle TBL_NUMrange erstellen (
id serielle Primärschlüssel,
num_range numrange);

Führen Sie die folgende Abfrage aus, um drei Datensätze in die Einführung in die TBL_NumRange Tisch:

# In tbl_numrange (num_range) einfügen
Werte (Numrange (20, 40)),
(Numrange (100, 500));

Die folgende Ausgabe wird nach Ausführung der oben genannten Abfragen angezeigt:

Führen Sie die folgende Auswahlabfrage aus, mit der alle Datensätze aus der TBL_NUMRANGE gelesen werden:

# Auswählen * von tbl_numrange;

Die folgende Ausgabe wird angezeigt, nachdem die obige Auswahlabfrage ausgeführt wurde:

C. Verwendung von Zeitstempelbereich Datentyp
Erstellen Sie eine Tabelle mit dem Namen 'Tbl_Timerange' ' in der aktuellen Datenbank mit zwei Feldern. Hier ist der erste Feldname Ausweis Welches ist der Hauptschlüssel der Tabelle. Der Wert dieses Feldes wird automatisch erhöht, wenn ein neuer Datensatz eingefügt wird. Der zweite Feldname ist Zeitspanne und der Datentyp ist Tsrange.

# Tabelle TBL_TIMERANGE CREATE (
id serielle Primärschlüssel,
Timerange TsRange);

Führen Sie die folgende Abfrage aus, um drei Datensätze in die Einführung in die tbl_timerange Tisch:

# In Tbl_Timerange (Timerange) einfügen
Werte ('[2022-05-20 10:20:30, 2022-05-21 10:20:15)')),
('[2022-09-13 9:30:15, 2022-09-14 11:10:20)');

Die folgende Ausgabe wird nach Ausführung der oben genannten Abfragen angezeigt:

Führen Sie die folgende Auswahlabfrage aus, mit der alle Datensätze aus dem gelesen werden TBL_Timerange:

# Aus TBL_Timerange auswählen;

Die folgende Ausgabe wird angezeigt, nachdem die obige Auswahlabfrage ausgeführt wurde:

D. Verwendung des Datentyps des Datumsbereichs
Erstellen Sie eine Tabelle mit dem Namen 'Tbl_daterange' in der aktuellen Datenbank mit zwei Feldern. Hier ist der erste Feldname Ausweis Welches ist der Hauptschlüssel der Tabelle. Der Wert dieses Feldes wird automatisch erhöht, wenn ein neuer Datensatz eingefügt wird. Der zweite Feldname ist Datumsbereich und der Datentyp ist DATUMSBEREICH.

# Tabelle TBL_DATERANGE CREATE (
id serielle Primärschlüssel,
Date_Range Daterange);

Führen Sie die folgende Abfrage aus, um drei Datensätze in die Einführung in die tbl_daterange Tisch:

# In tbl_daterange (DATE_RANGE) einfügen
Werte ('[2022-05-20, 2022-05-21)')),
('[2022-07-10, 2022-07-15)'),
('[2022-12-01, 2022-12-16)');

Die folgende Ausgabe wird nach Ausführung der oben genannten Abfragen angezeigt:

Führen Sie die folgende Auswahlabfrage aus, mit der alle Datensätze aus dem gelesen werden tbl_daterange:

# SELECT * von TBL_DATERANGE;

Führen Sie die folgende Auswahlabfrage aus, mit der diese Datensätze aus dem lesen werden tbl_daterange wo der Datumswert von DIE DATE_RANGE Feld ist größer als "2002-07-13".

# Select *aus tbl_daterange where date_range @> '2022-07-13' :: Date;

Die folgende Ausgabe wird nach Ausführung der oben genannten Abfragen angezeigt:

Abschluss:

In diesem Tutorial wurden verschiedene Verwendungen von Bereichsdatentypen von PostgreSQL mithilfe mehrerer Tabellen gezeigt. Die neuen PostgreSQL -Benutzer können den Bereich der Datentypen in ihren Tabellen verwenden, nachdem Sie dieses Tutorial gelesen haben.