UUID oznacza uniwersalny unikalny identyfikator, który jest zdefiniowany przez RFC 4122. Wartość UUID jest obliczana przez algorytm, a wartość ma długość 128-bitową. UUID generuje unikalną wartość lepszą niż dane szeregowe, które generują wartości osobliwe. PostgreSQL nie ma żadnej funkcji do utworzenia wartości UUID. Zależy to od wymienionego modułu stron trzecich UUID-OSP który uzyskuje dostęp do niezbędnych funkcji w celu utworzenia wartości UUID. Sposób na zainstalowanie UUID-OSP Moduł i zastosowania typu danych UUID w bazie danych PostgreSQL zostały pokazane w tym samouczku.
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
Zainstaluj moduł UUID-OSSP:
Jeśli UUID-OSP Moduł nie jest wcześniej instalowany w PostgreSQL, a następnie uruchom następujące polecenie, aby zainstalować moduł. Tutaj użyto klauzuli „jeśli nie istnieje”, aby zapobiec ponownej instalacji modułu, jeśli jest już zainstalowana.
# Utwórz rozszerzenie, jeśli nie istnieje „UUID-OSPSP”;Po zainstalowaniu UUID-OSP Moduł pomyślnie uruchom następujące polecenie Wybierz, aby wygenerować UUID na podstawie adresu MAC komputera, wartości znacznika czasu i wartości losowej. Tutaj uuid_geneate_v1 () Funkcja została użyta do generowania unikalnej wartości.
# Wybierz uuid_generate_v1 ();Po wykonaniu powyższego zapytania pojawi się następujące dane wyjściowe:
Uruchom następujące polecenie Wybierz, aby wygenerować UUID na podstawie wartości losowej. Tutaj uuid_geneate_v4 () Funkcja została użyta do generowania unikalnej wartości.
# Wybierz uuid_generate_v4 ();Po wykonaniu powyższego zapytania pojawi się następujące dane wyjściowe:
Użycie UUID w PostgreSQL:
Przed utworzeniem dowolnej tabeli z boolowskim typem danych musisz utworzyć bazę danych PostgreSQL. Uruchom więc następujące polecenie, aby utworzyć bazę danych o nazwie 'testdb::
# Utwórz bazę danych testDB;Po utworzeniu bazy danych pojawi się następujące dane wyjściowe:
Utwórz tabelę za pomocą typu danych UUID:
Identyfikator faktury jest zawsze wyjątkowy dla każdego dokumentu faktury. Typ danych UUID to lepsza opcja utworzenia unikalnego identyfikatora. Utwórz tabelę o nazwie 'Faktura„W bieżącej bazie danych z czterema polami. Pierwsza nazwa pola to FILOICE_ID który jest kluczowym kluczem tabeli. Rodzaj danych tego pola to Uuid. Jeśli nie podano żadnej wartości dla FILOICE_ID pole W momencie wstawienia danych, wówczas wartość domyślna zostanie wygenerowana za pomocą funkcji UUID_Geneate_V4 (). Druga nazwa pola to Order_Date, a typ danych tego pola to DATA które zostaną wykorzystane do przechowywania daty zamówienia. Trzecie nazwa pola to Identyfikator klienta a typ danych tego pola to Char (6) do przechowywania wartości ciągu 4 znaków. Czwarte pole jest Order_amount a typ danych tego pola to Int Aby przechowywać kwotę zamówienia.
# Utwórz fakturę tabeli (Następujące dane wyjściowe pojawią się, jeśli tabela zostanie utworzona pomyślnie:
Uruchom następujące zapytanie wstaw, aby wstawić cztery rekordy do Faktura tabela. Wartości dla FILOICE_ID pole nie podano w następującym zapytaniu. Więc uuid_geneate_v4 () funkcja wygeneruje wartości dla FILOICE_ID pole.
# Wstaw do faktury (Order_Date, Customer_id, Order_Amount)Następujące dane wyjściowe pojawią się po wykonaniu powyższego zapytania. Wyjście pokazuje, że cztery rekordy zostały poprawnie włożone do Faktura tabela:
Uruchom następujące zapytanie Wybierz, aby przeczytać wszystkie rekordy z Faktura tabela:
# Wybierz * z faktury;Następujące dane wyjściowe pojawią się po wykonaniu powyższego zapytania. Wyjście pokazuje cztery unikalne identyfikatory wygenerowane dla FILOICE_ID pole:
Uruchom następujące WYBIERAĆ zapytanie, które przeczyta te rekordy z Stół faktury gdzie wartość Data zamówienia pole jest mniejsze niż „2022-05-15”:
# Wybierz * z faktury, gdzie Order_Date < '2022-05-15';Następujące dane wyjściowe pojawią się po wykonaniu powyższego zapytania. Tabela zawiera dwa rekordy, w których wartość Data zamówienia jest mniej niż „2022-05-15”.
Uruchom następujące WYBIERAĆ zapytanie, które przeczyta te rekordy z tabeli faktury, w której wartość Data zamówienia Pole znajduje się między „2022-05-15” a „2022-05-20”.
# Wybierz * z faktury, gdzie Order_Date między „2022-05-15” i „2022-05-20”;Następujące dane wyjściowe pojawią się po wykonaniu powyższego zapytania. Tabela zawiera jeden rekord, który pasuje do stanu.
Uruchom następujące WYBIERAĆ zapytanie, które przeczyta te rekordy z tabeli faktury, w której wartość Order_amount jest większy niż 50000.
# Wybierz * z faktury, gdzie Order_Amount> 50000;Następujące dane wyjściowe pojawią się po wykonaniu powyższego zapytania. W tabeli istnieją dwa rekordy, w której wartość Order_amount jest większy niż 50000.
Uruchom następujące WYBIERAĆ zapytanie, które przeczyta te rekordy z tabeli faktury, w której wartość Order_amount jest większy niż 50000 i mniej niż 70000.
# Wybierz * z faktury tam, gdzie Order_Amount> 50000 i Order_Amount < 70000;Następujące dane wyjściowe pojawią się po wykonaniu powyższego zapytania. Tabela zawiera jeden rekord, który pasuje do stanu.
Wniosek:
Sposób na użycie Typ danych UUID oraz użycie tego typu danych do generowania unikalnego identyfikatora w PostgreSQL W tym samouczku pokazano tabele. Cel użycia Typ danych UUID zostanie wyczyszczone po prawidłowym przeczytaniu tego samouczka.