PostgreSQL UUID nebo Universal Unique Identifier je specifikován RFC 4122 a má délku 128 bitů. Pro konstrukci UUID se používají interní algoritmy a každá hodnota je odlišná. PostgreSQL má svůj vlastní datový typ UUID a generuje je pomocí modulů. Datový typ UUID se běžně zavádí v distribuovaných databázích, protože tento datový typ zajišťuje singularitu, spíše než typ SERIAL, který generuje pouze singulární hodnoty uvnitř jedné databáze. Zatímco PostgreSQL umožňuje ukládat a porovnávat hodnoty UUID, tento nemá ve svém jádru metody jejich vytváření. Spíše se spoléhá na balíčky třetích stran, které mají specifické algoritmy generování UUID.
Pojďme se nyní podívat na určitá znázornění hodnot UUID, jak je vidět na obrázku níže. UUID se skládá z 32 bitů hexadecimálních číslic až se čtyřmi pomlčkami, jak je vidět na obrázku níže. UUID může mít také hodnotu 0, což znamená, že všechny bity jsou prázdné.
Vytvořte UIID v PostgreSQL pgAdmin 4 GUI
Otevřete grafické uživatelské rozhraní PostgreSQL 'pgAdmin 4'. Dále propojte uživatele 'postgres' se serverem 'PostgreSQL 13' zadáním hesla pro uživatelské jméno. Chcete-li jej začít používat, stiskněte tlačítko „OK“.
Balíček „uuid-ossp“ bude nainstalován do „testovací“ databáze pomocí instrukce CREATE EXTENSION. Pokud budete správně postupovat podle pokynů uvedených níže, zobrazí se zpráva „VYTVOŘIT ROZŠÍŘENÍ“, jak je zobrazeno na obrázku níže. V následujícím příkazu je zrušena podmínka „IF NOT EXISTS“, což nám umožňuje přestat znovu instalovat balíček.
>> VYTVOŘTE ROZŠÍŘENÍ, NEŽ EXISTUJE „uuid-ossp“;
Ve volbě „Rozšíření“ můžete vidět nově nainstalovaný balíček „uuid-ossp“.
Následuje seznam funkcí souvisejících s nainstalovaným balíčkem uuid-ossp v databázi „test“:
Metodu „uuid_generate_v1 ()“ lze použít k vytvoření hodnot UUID a v závislosti na aktuálním časovém razítku sběr MAC adres, což je také libovolná hodnota. Když se v oblasti nástroje dotazu spustí následující instrukce, získáme následující výstup. Zobrazí se hodnota UUID vygenerovaná metodou „uuid_generate_v1 ()“, jak je zobrazeno na snímku níže.
>> SELECT uuid_generate_v1 ();
Vytvořte UIID v grafickém uživatelském rozhraní PostgreSQL pgAdmin 4
Otevřete prostředí příkazového řádku PostgreSQL a připojte jej k serveru localhost nebo k jinému serveru, ke kterému se chcete připojit, zadáním jeho názvu a stisknutím klávesy Enter. Databázi můžete změnit zapsáním jejího názvu do řádku „Databáze“. Jak vidíte, používáme „testovací“ databázi. Můžete také změnit číslo portu a uživatelské jméno pro přepnutí. Poté budete požádáni o heslo pro vybraného uživatele. Po zadání hesla budete rádi. Pokud zde nechcete provádět žádné změny, nechte mezery prázdné.
Balíček „uuid-ossp“ lze připojit pomocí dotazu CREATE EXTENSION. Napište následující příkaz do příkazového shellu PostgreSQL a můžete obdržet následující zprávu „CREATE EXTENSION“. Rovněž jsme zrušili klauzuli „IF NOT EXISTS“, která nám umožňuje zastavit opětovnou instalaci balíčku.
>> VYTVOŘTE ROZŠÍŘENÍ, NEŽ EXISTUJE „uuid-ossp“;
Funkce „uuid_generate_v1 ()“ bude použita k vytvoření hodnot UUID podmíněných aktuálním časovým razítkem, skupinou MAC adres a náhodnou hodnotou. Provedením následujícího dotazu v prostoru dotazu získáte následující výstup, který ukazuje hodnotu UUID vytvořenou pomocí metody „uuid_generate_v1 ()“.
>> SELECT uuid_generate_v1 ();
Metodu „uuid_generate_v4 ()“ lze použít k vytvoření hodnoty UUID vytvořené výhradně s náhodnými čísly, jak je uvedeno níže. Tím se vytvoří výstup podobný následujícímu.
>> SELECT uuid_generate_v4 ();
Příklad datového typu PostgreSQL UUID
Tento příklad ukazuje, jak funguje datový typ UIID PostgreSQL. Pomocí příkazu CREATE vytvoříme samostatnou tabulku „Klient“ a také pole UUID. ID klienta, jméno klienta, příjmení klienta, e-mailová adresa klienta a adresa klienta jsou jen několika sloupci v tabulce „Klient“. Jako datový typ UUID používáme 'Client_id', což je také primární klíč. Metoda „uuid_generate_v4 ()“ také dynamicky vytvoří hodnoty primárního základního sloupce. Vyzkoušejte následující příkaz CREATE TABLE v oblasti nástroje dotazu a vytvořte tabulku „Klient“ v databázi „test“, kde je nainstalován modul uuid-ossp. Obdržíte zprávu „VYTVOŘIT TABULKU“, což znamená, že tabulka byla vytvořena správně.
Když přidáte nový řádek bez zadání hodnoty „pole Client_id“, může PostgreSQL použít metodu „uuid_generate_v4 ()“ k vytvoření hodnoty „Client_id“. S instrukcí INSERT do ní vložíme několik hodnot. Po provedení níže uvedené instrukce se zobrazí následující obrazovka odezvy, která naznačuje, že uvedené hodnoty byly účinně začleněny do tabulky „Klient“.
Nyní načteme všechny záznamy tabulky „Klient“ pomocí dotazu SELECT v nástroji editoru dotazů. Po provedení níže uvedeného pokynu získáte následující výstup, který zobrazí všechny nebo většinu informací v tabulce klientů. Pole „Client_id“ bude obsazeno hodnotami UUID generovanými metodou „uuid_generate_v4 ()“, jak je vidět na obrázku níže.
>> SELECT * FROM Client;
Závěr
Tento článek se zabýval hlavními body v části datového typu PostgreSQL UUID pomocí grafického uživatelského rozhraní PostgreSQL pgAdmin 4 a prostředí příkazového řádku, včetně následujících:
- Výsledné hodnoty UUID pro sloupec jsou uloženy v datovém typu PostgreSQL UUID.
- Chcete-li vytvořit hodnoty UUID, je třeba k zadání obslužného programu balíčku uuid-ossp použít dotaz CREATE Extension.
- Možná budete potřebovat funkci „uuid_generate_v4 ()“ k dynamickému extrahování výsledků UUID pro konkrétní sloupce tabulky.
Doufejme, že při práci na typech a funkcích UUID v PostgreSQL nenarazíte na žádné problémy.