Wbudowane typy danych PostgreSQL

Wbudowane typy danych PostgreSQL
Sekwencyjna seria danych nazywa się danymi zakresu. Baza danych PostgreSQL obsługuje zakres typów danych, co jest unikalną funkcją tej bazy danych. Zakres i typy danych wieloosobowych są wprowadzane do PostgreSQL w wersji 14. Ten typ danych przechowuje dolne i górne wartości. Liczba całkowita lub wartość znacznika czasu można przechowywać w polu tego typu danych. Gdy jest wymagane do przechowywania wielu wartości w jednym zakresie, lepiej jest użyć typu danych Zakresu. Wbudowany zakres typów danych, które są obsługiwane przez PostgreSQL, został wspomniany poniżej.
Rodzaje zasięgu Zamiar
int4range Definiuje zakres liczb całkowitych.
int4multirange Definiuje liczby całkowite wielokrotnie.
int8range Definiuje zakres dużych liczb całkowitych.
int8multirange Definiuje wielkie liczby całkowitej wielokrotności.
Numrange Definiuje zakres liczb.
Nummultirange Definiuje wiele liczb.
tsrange Definiuje zakres czasu czasu bez strefy czasowej.
Tsmultirange Definiuje multi-satelipamp bez strefy czasowej.
Tstzrange Definiuje zakres czasu znacznika ze strefą czasową.
TSTZMULTIRANGE Definiuje multi-satelipamp ze strefą czasową.
zakres dat Definiuje zakres daty.
Datemultirange Definiuje wieloosobową datę.

Wymagania wstępne:

Musisz zainstalować najnowszą wersję pakietów PostgreSQL w systemie operacyjnym Linux przed wykonaniem instrukcji SQL pokazanych w tym samouczku. Uruchom następujące polecenia, aby zainstalować i uruchom PostgreSQL:

$ sudo apt-get -y instalacja Postgresql PostgreSQL-Contib
$ sudo systemctl start postgresql.praca

Uruchom następujące polecenie, aby zalogować się do PostgreSQL za zgodą root:

$ sudo -u postgres psql

Przykłady danych danych PostgreSQL Zakres:

Przed utworzeniem dowolnej tabeli z boolowskim typem danych musisz utworzyć bazę danych PostgreSQL. Uruchom więc następujące polecenie, aby utworzyć nazwaną bazę danych „testDB”:

# Utwórz bazę danych testDB;

Po utworzeniu bazy danych pojawi się następujące dane wyjściowe:

A. Korzystanie z typu danych zakresu liczb całkowitych
Utwórz tabelę o nazwie „tbl_intrange” W bieżącej bazie danych z dwoma polami. Tutaj pierwsza nazwa pola to ID który jest kluczowym kluczem tabeli. Wartość tego pola zostanie zwiększona automatycznie, gdy nowy rekord wstawię. Druga nazwa pola to int_range A typ danych jest Int4range.

# Utwórz tabelę tbl_intrange (
ID szeregowy klucz podstawowy,
int_range int4Range);

Pojawi się następujące dane wyjściowe, jeśli tabela zostanie utworzona pomyślnie.

Uruchom następujące zapytanie, aby wstawić trzy rekordy do tbl_intrange tabela:

# Wstaw do tbl_intrange (int_range)
Wartości („[1, 10)” :: int4Range),
(„[1, 20)” :: int4Range),
(„[1, 30)” :: int4Range);

Po wykonaniu powyższego zapytania pojawi się następujące dane wyjściowe:

Uruchom następujące zapytanie Wybierz, aby przeczytać wszystkie rekordy z tbl_intrange:

# Wybierz * z tbl_intrange;

Uruchom następujące zapytanie Wybierz, aby przeczytać te rekordy z tbl_intrange GDZIE int_range jest większy niż 12:

# Wybierz * z tbl_intrange, gdzie int_range @> 12;

Następujące dane wyjściowe pojawią się po wykonaniu powyższych zapytań wybranych:

B. Korzystanie z typu danych zasięgu liczbowego
Utwórz tabelę o nazwie „tbl_numrange” W bieżącej bazie danych z dwoma polami. Tutaj pierwsza nazwa pola to ID który jest kluczowym kluczem tabeli. Wartość tego pola zostanie zwiększona automatycznie, gdy nowy rekord wstawię. Druga nazwa pola to num_range A typ danych jest Numrange.

# Utwórz tabelę tbl_numrange (
ID szeregowy klucz podstawowy,
num_range numrange);

Uruchom następujące zapytanie, aby wstawić trzy rekordy do tbl_numrange tabela:

# Wstaw do tbl_numrange (num_range)
Wartości (Numrange (20, 40)),
(Numrange (100, 500));

Następujące dane wyjściowe pojawią się po wykonaniu powyższych zapytań:

Uruchom następujące zapytanie, które przeczyta wszystkie rekordy z TBL_NUMRANGE:

# Wybierz * z tbl_numrange;

Następujące dane wyjściowe pojawią się po wykonaniu powyższego zapytania:

C. Zastosowanie typu danych Zakresu Znacznikiem czasu
Utwórz tabelę o nazwie „tbl_timerange” W bieżącej bazie danych z dwoma polami. Tutaj pierwsza nazwa pola to ID który jest kluczowym kluczem tabeli. Wartość tego pola zostanie zwiększona automatycznie, gdy nowy rekord wstawię. Druga nazwa pola to zakres czasu A typ danych jest Tsrange.

# Utwórz tabelę tbl_timerange (
ID szeregowy klucz podstawowy,
timerange tsrange);

Uruchom następujące zapytanie, aby wstawić trzy rekordy do tbl_timerange tabela:

# Wstaw do tbl_timerange (timerange)
Wartości („[2022-05-20 10:20:30, 2022-05-21 10:20:15)”),
(„[2022-09-13 9:30:15, 2022-09-14 11:10:20)”);

Następujące dane wyjściowe pojawią się po wykonaniu powyższych zapytań:

Uruchom następujące zapytanie, które przeczyta wszystkie rekordy z tbl_timerange:

# Wybierz * z tbl_timerange;

Następujące dane wyjściowe pojawią się po wykonaniu powyższego zapytania:

D. Korzystanie z daty typu danych
Utwórz tabelę o nazwie „tbl_daterange” W bieżącej bazie danych z dwoma polami. Tutaj pierwsza nazwa pola to ID który jest kluczowym kluczem tabeli. Wartość tego pola zostanie zwiększona automatycznie, gdy nowy rekord wstawię. Druga nazwa pola to zakres dat A typ danych jest ZAKRES DAT.

# Utwórz tabelę tbl_dateran (
ID szeregowy klucz podstawowy,
date_range -danange);

Uruchom następujące zapytanie, aby wstawić trzy rekordy do Tbl_daterange tabela:

# Wstaw do tbl_daterange (date_range)
Wartości („[2022-05-20, 2022-05-21)”),
(„[2022-07-10, 2022-07-15)”),
(„[2022-12-01, 2022-12-16)”);

Następujące dane wyjściowe pojawią się po wykonaniu powyższych zapytań:

Uruchom następujące zapytanie, które przeczyta wszystkie rekordy z tbl_daterange:

# Wybierz * z tbl_daterange;

Uruchom następujące zapytanie, które przeczyta te rekordy z Tbl_daterange gdzie wartość daty Data_range pole jest większe niż „2002-07-13”.

# Wybierz *z tbl_daterange, gdzie date_range @> '2022-07-13' :: data;

Następujące dane wyjściowe pojawią się po wykonaniu powyższych zapytań:

Wniosek:

W tym samouczku pokazano różne zastosowania typów danych PostgreSQL. Nowi użytkownicy PostgreSQL będą mogli korzystać z zakresu typów danych w swoich tabelach po przeczytaniu tego samouczka.