PostgreSQL

PostgreSQL UUID-typer och funktioner

PostgreSQL UUID-typer och funktioner

PostgreSQL UUID, eller Universal Unique Identifier, specificeras av RFC 4122 och har en 128-bitars längd. Interna algoritmer används för att konstruera UUID, och varje värde är distinkt. PostgreSQL har sin egen UUID-datatyp och genererar dem med moduler. UUID-datatypen kastas vanligtvis bort i distribuerade databaser eftersom den här datatypen säkerställer singularitet snarare än SERIAL-typen, som bara genererar singularvärden i en enda databas. Medan PostgreSQL låter dig spara och kontrastera UUID-värden, har den här inte metoder för att skapa dem i sin kärna. Snarare är det beroende av paket från tredje part som har specifika UUID-genereringsalgoritmer.

Låt oss nu titta på vissa representationer av UUID-värden, vilket framgår av diagrammet nedan. En UUID består av 32 bitar hexadecimala siffror med upp till fyra bindestreck, vilket framgår av diagrammet nedan. En UUID kan också ha värdet 0, vilket betyder att alla bitar är tomma.

Skapa UIID i PostgreSQL pgAdmin 4 GUI

Öppna det grafiska användargränssnittet PostgreSQL 'pgAdmin 4'. Anslut sedan användaren 'postgres' med servern 'PostgreSQL 13' genom att ange lösenordet för användarnamnet. Tryck på 'OK' för att börja använda den.

Paketet "uuid-ossp" kommer att installeras i "test" -databasen med instruktionen CREATE EXTENSION. Om du följer instruktionerna nedan korrekt kommer du att få meddelandet “CREATE EXTENSION”, som visas i bilden nedan. I följande kommando avstängs villkoret "OM INTE FINNER" vilket gör att vi kan sluta installera om paketet.

>> SKAPA UTÖKNING OM INTE FÖR "uuid-ossp";

I alternativet "Extensions" kan du se det nyligen installerade "uuid-ossp" -paketet.

Följande är en lista över funktionerna relaterade till det installerade uuid-ossp-paketet i databasen 'test':

Metoden "uuid_generate_v1 ()" kan användas för att producera UUID-värden och, beroende på den aktuella tidsstämpeln, MAC-adressinsamlingen, som också är ett godtyckligt värde. När följande instruktion körs i frågeverktygsområdet får vi den efterföljande utdata. Detta visar UUID-värdet som genereras av metoden “uuid_generate_v1 ()”, som visas i ögonblicksbilden nedan.

>> VÄLJ uuid_generate_v1 ();

Skapa UIID i PostgreSQL pgAdmin 4 GUI

Öppna ditt PostgreSQL-kommandoradsskal och anslut det till localhost-servern eller någon annan server du vill vara ansluten till, genom att ange dess namn och trycka på Enter. Du kan ändra databasen genom att skriva dess namn i raden 'Databas'. Som du ser använder vi databasen "test". Du kan också ändra ditt portnummer och användarnamn för att byta. Därefter kommer du att bli ombedd att ange lösenordet för den valda användaren. När du tillhandahåller lösenordet är du redo att gå. Om du inte vill göra några ändringar här, lämna utrymmena tomma.

Paketet "uuid-ossp" kan monteras med CREATE EXTENSION-frågan. Skriv följande kommando i kommandoskalet i PostgreSQL, så kan du få det efterföljande meddelandet “CREATE EXTENSION”. Vi har också avskaffat klausulen “OM INTE FUNGAR”, som tillåter oss att stoppa ominstallationen av paketet.

>> SKAPA UTÖKNING OM INTE FUNNER "uuid-ossp";

Funktionen "uuid_generate_v1 ()" kommer att användas för att bygga UUID-värdena beroende av aktuell tidsstämpel, MAC-adressgrupp och ett slumpmässigt värde. Genom att utföra följande fråga i frågeområdet får du den efterföljande utdata, som visar UUID-värdet som skapats med metoden “uuid_generate_v1 ()”.

>> VÄLJ uuid_generate_v1 ();

Metoden "uuid_generate_v4 ()" kan användas för att skapa ett UUID-värde exklusivt upprättat med slumpmässiga nummer, som visas nedan. Detta ger en produktion som följande.

>> VÄLJ uuid_generate_v4 ();

Exempel på PostgreSQL UUID-datatyp

Det här exemplet visar hur datatypen PostgreSQL UIID fungerar. Vi använder kommandot CREATE för att konstruera en separat 'Client' -tabell samt UUID-fält. Klient-id, klientens förnamn, klientens efternamn, klient-e-post-ID och klientadress är bara några av kolumnerna i tabellen "Client". Vi har använt 'Client_id' som UUID-datatyp, som också är den primära nyckeln. Metoden “uuid_generate_v4 ()” kommer också dynamiskt att producera de primära grundläggande kolumnvärdena. Försök med följande CREATE TABLE-kommando i frågeverktygsområdet för att konstruera en 'Client' -tabell i en 'test' -databas där uuid-ossp-modulen är installerad. Du kommer att få meddelandet “CREATE TABLE”, vilket innebär att tabellen har skapats ordentligt.

När du lägger till en ny rad utan att ange värdet "Client_id field" kan PostgreSQL använda metoden "uuid_generate_v4 ()" för att producera ett "Client_id" -värde. Med INSERT-instruktionen lägger vi till flera värden i den. Följande svarsskärm visas efter att instruktionen har utförts nedan, vilket indikerar att de angivna värdena effektivt införlivades i tabellen 'Klient'.

Vi hämtar nu alla poster i tabellen 'Klient' med hjälp av SELECT-frågan i frågeditorverktyget. Du kommer att få följande utdata efter att du har utfört instruktionen nedan, som visar all eller mest information i klienttabellen. Fältet "Client_id" kommer att upptas av UUID-värden som genereras av "uuid_generate_v4 ()" -metoden, vilket framgår av bilden nedan.

>> VÄLJ * FRÅN klient;

Slutsats

Den här artikeln täckte huvudpunkterna i datatypdelen PostgreSQL UUID med hjälp av det grafiska användargränssnittet PostgreSQL pgAdmin 4 och kommandoraden, inklusive följande:

Förhoppningsvis kommer du inte att stöta på några problem när du arbetar med UUID-typerna och funktionerna i PostgreSQL.

Portar med öppen källkod för kommersiella spelmotorer
Gratis, öppen källkod och plattformsmekaniska rekreationer kan användas för att spela gamla såväl som några av de ganska senaste speltitlarna. I den h...
Bästa kommandoradsspel för Linux
Kommandoraden är inte bara din största allierade när du använder Linux, det kan också vara källan till underhållning eftersom du kan använda den för a...
Bästa Gamepad Mapping Apps för Linux
Om du gillar att spela spel på Linux med en gamepad istället för ett typiskt tangentbord och musinmatningssystem, finns det några användbara appar för...