PostgreSQL UUID eller Universal Unique Identifier er specificeret af RFC 4122 og har en 128-bit længde. Interne algoritmer bruges til at konstruere UUID, og hver værdi er forskellig. PostgreSQL har sin egen UUID-datatype og genererer dem med moduler. UUID-datatypen kastes almindeligvis af inden for distribuerede databaser, fordi denne datatype sikrer singularitet snarere end SERIAL-typen, som kun genererer entalværdier inde i en enkelt database. Mens PostgreSQL giver dig mulighed for at gemme og kontrastere UUID-værdier, har denne ikke metoder til at oprette dem i sin kerne. Det er snarere afhængigt af tredjepartspakker, der har specifikke UUID-genereringsalgoritmer.
Lad os nu se på visse repræsentationer af UUID-værdier, som det ses i nedenstående diagram. En UUID består af 32 bits hexadecimale cifre med op til fire bindestreger, som det ses i nedenstående diagram. En UUID kan også have en værdi på 0, hvilket betyder, at alle bits er tomme.
Opret UIID i PostgreSQL pgAdmin 4 GUI
Åbn den grafiske brugergrænseflade PostgreSQL 'pgAdmin 4'. Forbind derefter brugerens 'postgres' med serveren 'PostgreSQL 13' ved at angive adgangskoden til brugernavnet. Tryk på knappen 'OK' for at begynde at bruge den.
“Uuid-ossp” -pakken installeres i 'test' -databasen ved hjælp af instruktionen CREATE EXTENSION. Hvis du korrekt følger instruktionerne nedenfor, modtager du meddelelsen “OPRET UDVIDELSE” som vist på billedet nedenfor. I den følgende kommando er tilstanden “HVIS IKKE FINDER” afskåret, hvilket giver os mulighed for at stoppe geninstallationen af pakken.
>> OPRET UDVIDELSE, HVIS IKKE eksisterer "uuid-ossp";
I indstillingen 'Udvidelser' kan du se den nyinstallerede "uuid-ossp" -pakke.
Følgende er en liste over de funktioner, der er relateret til den installerede uuid-ossp-pakke i 'test' -databasen:
Metoden “uuid_generate_v1 ()” kan bruges til at producere UUID-værdier og, afhængigt af det aktuelle tidsstempel, MAC-adressesamlingen, som også er en vilkårlig værdi. Når følgende instruktion køres i forespørgselsværktøjsområdet, får vi den efterfølgende output. Dette viser UUID-værdien genereret af "uuid_generate_v1 ()" -metoden, som vist i snapshotet nedenfor.
>> VÆLG uuid_generate_v1 ();
Opret UIID i PostgreSQL pgAdmin 4 GUI
Åbn din PostgreSQL kommandolinjeskal, og forbind den med localhost-serveren eller en hvilken som helst anden server, du vil have forbindelse til, ved at angive dens navn og trykke Enter. Du kan ændre databasen ved at skrive dens navn i linjen 'Database'. Som du kan se, bruger vi 'test'-databasen. Du kan også ændre dit portnummer og brugernavn for at skifte. Derefter bliver du bedt om adgangskoden til den valgte bruger. Når du har angivet adgangskoden, er du klar til at gå. Hvis du ikke vil foretage nogen ændringer her, skal du lade pladserne være tomme.
“Uuid-ossp” -pakken kan monteres ved hjælp af forespørgslen CREATE EXTENSION. Skriv følgende kommando i kommandoskallen af PostgreSQL, og du kan muligvis få den efterfølgende "CREATE EXTENSION" -meddelelse. Vi har også afvist "HVIS IKKE FINDER" -klausulen, som tillader os at stoppe geninstallation af pakken.
>> OPRET UDVIDELSE, HVIS IKKE eksisterer "uuid-ossp";
Funktionen “uuid_generate_v1 ()” bruges til at opbygge UUID-værdier, der er afhængige af det aktuelle tidsstempel, MAC-adressegruppe og en tilfældig værdi. Ved at udføre følgende forespørgsel i forespørgselsområdet får du den efterfølgende output, som viser UUID-værdien oprettet ved hjælp af metoden “uuid_generate_v1 ()”.
>> VÆLG uuid_generate_v1 ();
Metoden “uuid_generate_v4 ()” kan bruges til at oprette en UUID-værdi, der udelukkende er etableret med tilfældige tal, som vist nedenfor. Dette vil producere et output som det følgende.
>> VÆLG uuid_generate_v4 ();
Eksempel på PostgreSQL UUID-datatype
Dette eksempel viser dig, hvordan PostgreSQL UIID-datatypen fungerer. Vi bruger kommandoen CREATE til at konstruere en separat 'klient'-tabel samt UUID-felter. Klient-id, klientens fornavn, klientens efternavn, klient-e-mail-id og klientadresse er kun nogle få af kolonnerne i tabellen 'Klient'. Vi har brugt 'Client_id' som UUID-datatype, som også er den primære nøgle. Metoden “uuid_generate_v4 ()” producerer også dynamisk de primære grundlæggende kolonneværdier. Prøv følgende CREATE TABLE-kommando i forespørgselsværktøjsområdet for at konstruere en 'klient'-tabel i en' test 'database, hvor uuid-ossp-modulet er installeret. Du modtager meddelelsen "Opret TABEL", hvilket betyder, at tabellen er oprettet korrekt.
Når du tilføjer en ny linje uden at angive værdien 'Client_id field', kan PostgreSQL bruge metoden "uuid_generate_v4 ()" til at producere en 'Client_id' værdi. Med INSERT-instruktionen lægger vi flere værdier i den. Følgende svarskærm vises efter udførelsen af nedenstående instruktion, som indikerer, at de angivne værdier effektivt blev indarbejdet i 'Klient'-tabellen.
Vi henter nu alle poster i tabellen 'Client' ved hjælp af SELECT-forespørgslen i forespørgselseditorværktøjet. Du opnår følgende output efter at have udført nedenstående instruktion, som viser alle eller de fleste oplysninger i klienttabellen. Feltet 'Client_id' optages af UUID-værdierne genereret af metoden "uuid_generate_v4 ()", som det ses i billedet nedenfor.
>> VÆLG * FRA klient;
Konklusion
Denne artikel dækkede hovedpunkterne i PostgreSQL UUID-datatypedelen ved hjælp af PostgreSQL pgAdmin 4 Grafisk brugergrænseflade og kommandolinjeskal, herunder følgende:
- De resulterende UUID-værdier for en kolonne er gemt i PostgreSQL UUID-datatypen.
- For at opbygge UUID-værdier skal forespørgslen CREATE Extension bruges til at indtaste uuid-ossp-pakkeværktøjet.
- Du har muligvis brug for funktionen “uuid_generate_v4 ()” for dynamisk at udtrække UUID-resultaterne til tabellens specifikke kolonner.
Forhåbentlig vil du ikke løbe ind i nogen problemer, mens du arbejder på UUID-typerne og funktionerne i PostgreSQL.