PostgreSQL

PostgreSQL UUID-typer og funktioner

PostgreSQL UUID-typer og funktioner

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:

Forhåbentlig vil du ikke løbe ind i nogen problemer, mens du arbejder på UUID-typerne og funktionerne i PostgreSQL.

Sådan downloades og afspilles Sid Meiers Civilization VI på Linux
Introduktion til spillet Civilization 6 er et moderne udtryk for det klassiske koncept, der blev introduceret i serien af ​​Age of Empires-spil. Ideen...
Sådan installeres og afspilles Doom på Linux
Introduktion til undergang Doom-serien opstod i 90'erne efter frigivelsen af ​​den originale Doom. Det var et øjeblikkeligt hit, og fra den tid af har...
Vulkan til Linux-brugere
Med hver nye generation af grafikkort ser vi spiludviklere skubbe grænserne for grafisk troskab og komme et skridt tættere på fotorealisme. Men på tro...