PostgreSQL

Typy a funkcie PostgreSQL UUID

Typy a funkcie PostgreSQL UUID

PostgreSQL UUID alebo Universal Unique Identifier je špecifikovaný v RFC 4122 a má 128-bitovú dĺžku. Na konštrukciu UUID sa používajú interné algoritmy a každá hodnota je odlišná. PostgreSQL má svoj vlastný dátový typ UUID a generuje ich pomocou modulov. Dátový typ UUID sa bežne distribuuje v distribuovaných databázach, pretože tento dátový typ zaisťuje singulárnosť, a nie typ SERIAL, ktorý generuje singulárne hodnoty iba v jednej databáze. Zatiaľ čo PostgreSQL umožňuje ukladať a porovnávať hodnoty UUID, táto nemá jadro metód na ich vytváranie. Spolieha sa skôr na balíčky tretích strán, ktoré majú špecifické algoritmy generovania UUID.

Poďme sa teraz pozrieť na určité reprezentácie hodnôt UUID, ako je vidieť na obrázku nižšie. UUID pozostáva z 32 bitov hexadecimálnych číslic až so štyrmi pomlčkami, ako je vidieť na obrázku nižšie. UUID môže mať tiež hodnotu 0, čo znamená, že všetky bity sú prázdne.

Vytvorte UIID v PostgreSQL pgAdmin 4 GUI

Otvorte grafické užívateľské rozhranie PostgreSQL 'pgAdmin 4'. Ďalej pripojte používateľa 'postgres' k serveru 'PostgreSQL 13' zadaním hesla pre používateľské meno. Začnite ho používať kliknutím na tlačidlo „OK“.

Balík „uuid-ossp“ sa nainštaluje do „testovacej“ databázy pomocou inštrukcie CREATE EXTENSION. Ak budete postupovať podľa pokynov uvedených nižšie, zobrazí sa správa „VYTVORIŤ ROZŠÍRENIE“, ktorá sa zobrazuje na obrázku nižšie. V nasledujúcom príkaze je zrušená podmienka „IF NOT EXISTS“, ktorá nám umožňuje zastaviť preinštalovanie balíka.

>> VYTVORTE ROZŠÍRENIE, AK NEEXISTUJE „uuid-ossp“;

Vo voľbe „Rozšírenia“ môžete vidieť novo nainštalovaný balík „uuid-ossp“.

Nasleduje zoznam funkcií súvisiacich s nainštalovaným balíkom uuid-ossp v databáze „test“:

Na vytvorenie hodnôt UUID možno použiť metódu „uuid_generate_v1 ()“ a v závislosti od aktuálnej časovej pečiatky zhromažďovanie adries MAC, čo je tiež ľubovoľná hodnota. Keď sa v oblasti nástroja dotazu spustí nasledujúca inštrukcia, získame následný výstup. Zobrazí sa hodnota UUID vygenerovaná metódou „uuid_generate_v1 ()“, ktorá sa zobrazuje na snímke nižšie.

>> SELECT uuid_generate_v1 ();

Vytvorte UIID v PostgreSQL pgAdmin 4 GUI

Otvorte shell príkazového riadku PostgreSQL a pripojte ho k serveru localhost alebo k inému serveru, ku ktorému sa chcete pripojiť, zadaním jeho názvu a stlačením klávesu Enter. Databázu môžete zmeniť napísaním jej názvu do riadku „Databáza“. Ako vidíte, používame „testovaciu“ databázu. Môžete tiež zmeniť číslo portu a používateľské meno. Potom sa zobrazí výzva na zadanie hesla pre vybratého používateľa. Po zadaní hesla budete v poriadku. Ak tu nechcete robiť žiadne zmeny, nechajte medzery prázdne.

Balík „uuid-ossp“ je možné pripojiť pomocou dotazu CREATE EXTENSION. Napíšte nasledujúci príkaz do príkazového riadku PostgreSQL a môžete dostať nasledujúcu správu „CREATE EXTENSION“. Vypustili sme tiež klauzulu „AK NEEXISTUJE“, ktorá nám umožňuje zastaviť opätovnú inštaláciu balíka.

>> VYTVORTE ROZŠÍRENIE, AK NEEXISTUJE „uuid-ossp“;

Funkcia „uuid_generate_v1 ()“ sa použije na zostavenie hodnôt UUID závislých od aktuálnej časovej pečiatky, skupiny adries MAC a náhodnej hodnoty. Vykonaním nasledujúceho dotazu v priestore dotazu získate následný výstup, ktorý zobrazuje hodnotu UUID vytvorenú pomocou metódy „uuid_generate_v1 ()“.

>> SELECT uuid_generate_v1 ();

Metódu „uuid_generate_v4 ()“ možno použiť na vytvorenie hodnoty UUID určenej výlučne na základe náhodných čísel, ako je uvedené nižšie. Toto vyprodukuje výstup, ako je nasledujúci.

>> SELECT uuid_generate_v4 ();

Ukážka dátového typu UUID PostgreSQL

Tento príklad ukazuje, ako funguje dátový typ UIID PostgreSQL. Príkaz CREATE použijeme na vytvorenie samostatnej tabuľky „Klient“, ako aj polí UUID. ID klienta, meno klienta, priezvisko klienta, e-mailová adresa klienta a adresa klienta sú iba niekoľkými stĺpcami v tabuľke „Klient“. Ako dátový typ UUID sme používali „Client_id“, ktorý je tiež primárnym kľúčom. Metóda „uuid_generate_v4 ()“ tiež dynamicky vytvorí hodnoty primárneho základného stĺpca. Vyskúšajte nasledujúci príkaz CREATE TABLE v oblasti nástroja dotazu, aby ste vytvorili tabuľku „Klient“ v „testovacej“ databáze, kde je nainštalovaný modul uuid-ossp. Dostanete správu „VYTVORIŤ TABUĽKU“, čo znamená, že tabuľka bola vytvorená správne.

Keď pridáte nový riadok bez zadania hodnoty „pole Client_id“, môže PostgreSQL použiť metódu „uuid_generate_v4 ()“ na vytvorenie hodnoty „Client_id“. S inštrukciou INSERT do nej vložíme niekoľko hodnôt. Po vykonaní nižšie uvedenej inštrukcie sa zobrazí nasledujúca obrazovka s odpoveďou, ktorá naznačuje, že uvedené hodnoty boli efektívne začlenené do tabuľky „Klient“.

Teraz načítame všetky záznamy tabuľky „Klient“ pomocou dotazu SELECT v nástroji editora dotazov. Po vykonaní pokynov uvedených nižšie získate nasledujúci výstup, ktorý zobrazí všetky alebo väčšinu informácií v tabuľke klientov. Pole „Client_id“ bude obsadené hodnotami UUID generovanými metódou „uuid_generate_v4 ()“, ako je vidieť na obrázku nižšie.

>> SELECT * FROM Client;

Záver

Tento článok sa zaoberal hlavnými bodmi v časti dátových typov Ugd PostgreSQL pomocou grafického používateľského rozhrania PostgreSQL pgAdmin 4 a prostredia príkazového riadku, vrátane nasledujúcich:

Dúfajme, že pri práci na typoch a funkciách UUID v PostgreSQL nenarazíte na žiadne problémy.

Hry Ako zobraziť počítadlo FPS v hrách Linux
Ako zobraziť počítadlo FPS v hrách Linux
Hranie na systéme Linux získalo veľký tlak, keď spoločnosť Valve v roku 2012 oznámila podporu systému Linux pre klienta Steam a ich hry. Od tej doby s...
Hry Ako sťahovať a prehrávať Sid Meier's Civilization VI v systéme Linux
Ako sťahovať a prehrávať Sid Meier's Civilization VI v systéme Linux
Úvod do hry Civilization 6 predstavuje moderné poňatie klasického konceptu predstaveného v sérii hier Age of Empires. Myšlienka bola dosť jednoduchá; ...
Hry Ako inštalovať a hrať Doom na Linuxe
Ako inštalovať a hrať Doom na Linuxe
Úvod do Doom Séria Doom vznikla v 90. rokoch po vydaní pôvodného Doomu. Bol to okamžitý hit a od tej doby herná séria získala množstvo ocenení a origi...