PostgreSQL UUID eli Universal Unique Identifier on määritelty RFC 4122: lla ja sillä on 128-bittinen pituus. Sisäisiä algoritmeja käytetään UUID: n muodostamiseen, ja kukin arvo on erillinen. PostgreSQL: llä on oma UUID-tietotyyppi ja se generoidaan moduuleilla. UUID-tietotyyppi hylätään yleisesti hajautetuissa tietokannoissa, koska tämä tietotyyppi varmistaa singulariteetin SERIAL-tyypin sijaan, joka tuottaa yksittäisiä arvoja vain yhden tietokannan sisällä. Vaikka PostgreSQL antaa sinun tallentaa ja verrata UUID-arvoja, tällä ei ole menetelmiä niiden luomiseen ytimessä. Pikemminkin se perustuu kolmansien osapuolten paketteihin, joilla on erityiset UUID-generointialgoritmit.
Tarkastellaan nyt tiettyjä UUID-arvojen esityksiä alla olevan kaavion mukaisesti. UUID koostuu 32 bitistä heksadesimaaliluvuista, joissa on enintään neljä väliviivaa, kuten alla olevasta kaaviosta näkyy. UUID: n arvo voi olla myös 0, mikä tarkoittaa, että kaikki bitit ovat tyhjiä.
Luo UIID PostgreSQL pgAdmin 4 -käyttöliittymässä
Avaa graafinen PostgreSQL 'pgAdmin 4' -käyttöliittymä. Yhdistä seuraavaksi käyttäjän 'postgres' palvelimeen 'PostgreSQL 13' antamalla salasana käyttäjänimelle. Napsauta 'OK' -painiketta aloittaaksesi sen käytön.
”Uuid-ossp” -paketti asennetaan testitietokantaan CREATE EXTENSION -ohjeella. Jos noudatat alla olevia ohjeita oikein, saat "Luo Laajennus" -viestin, joka näkyy alla olevassa kuvassa. Seuraavassa komennossa ehto ”JOS EI OLOSSA” poistetaan käytöstä, minkä ansiosta voimme lopettaa paketin uudelleenasennuksen.
>> LUO LAAJENNUS, JOS EI OLE “uuid-ossp”;
Laajennukset-vaihtoehdossa näet äskettäin asennetun “uuid-ossp” -paketin.
Seuraava on luettelo toiminnoista, jotka liittyvät uuid-ossp-asennettuun pakettiin testitietokannassa:
Menetelmällä “uuid_generate_v1 ()” voidaan tuottaa UUID-arvoja ja nykyisestä aikaleimasta riippuen MAC-osoitekokoelma, joka on myös mielivaltainen arvo. Kun seuraava komento suoritetaan kyselytyökalualueella, saamme seuraavan tuloksen. Tämä näyttää "uuid_generate_v1 ()" -menetelmän luoman UUID-arvon, kuten alla olevassa kuvassa näkyy.
>> SELECT uuid_generate_v1 ();
Luo UIID PostgreSQL pgAdmin 4 -käyttöliittymässä
Avaa PostgreSQL-komentorivin kuori ja yhdistä se localhost-palvelimeen tai mihin tahansa muuhun palvelimeen, johon haluat olla yhteydessä, antamalla sen nimen ja painamalla Enter-näppäintä. Voit muuttaa tietokantaa kirjoittamalla sen nimen Tietokanta-riville. Kuten näette, käytämme testitietokantaa. Voit vaihtaa myös porttisi numeron ja käyttäjänimen. Sen jälkeen sinua pyydetään valitsemasi käyttäjän salasana. Kun olet antanut salasanan, olet hyvä mennä. Jos et halua tehdä muutoksia täällä, jätä välilyönnit tyhjiksi.
”Uuid-ossp” -paketti voidaan asentaa CREATE EXTENSION -kyselyllä. Kirjoita seuraava komento PostgreSQL: n komentokuoreen, ja saatat saada seuraavan CREATE EXTENSION -viestin. Olemme myös luopuneet ”JOS EI OLE” -lausekkeesta, jonka avulla voimme pysäyttää paketin uudelleenasennuksen.
>> LUO LAAJENNUS, JOS EI OLE “uuid-ossp”;
Toimintoa “uuid_generate_v1 ()” käytetään rakentamaan UUID-arvot, jotka ovat ehdollisia nykyiselle aikaleimalle, MAC-osoiteryhmälle ja sattumanvaraiselle arvolle. Suorittamalla seuraavan kyselyn kyselytilaan saat seuraavan tuloksen, joka näyttää UUID-arvon, joka on luotu menetelmällä “uuid_generate_v1 ()”.
>> SELECT uuid_generate_v1 ();
"Uuid_generate_v4 ()" -menetelmää voidaan käyttää luomaan UUID-arvo, joka on määritetty yksinomaan sattumanvaraisilla numeroilla, kuten alla on esitetty. Tämä tuottaa seuraavanlaisen tuotoksen.
>> SELECT uuid_generate_v4 ();
Esimerkki PostgreSQL UUID -tietotyypistä
Tämä esimerkki näyttää, miten PostgreSQL UIID -tietotyyppi toimii. Rakennamme CREATE-komennolla erillisen Client-taulukon sekä UUID-kentät. Asiakastunnus, asiakkaan etunimi, asiakkaan sukunimi, asiakkaan sähköpostiosoite ja asiakasosoite ovat vain muutama asiakas-taulukon sarakkeista. Olemme käyttäneet 'Client_id' UUID-tietotyyppinä, joka on myös ensisijainen avain. "Uuid_generate_v4 ()" -menetelmä tuottaa myös dynaamisesti ensisijaiset perussarakkeen arvot. Kokeile seuraavaa CREATE TABLE -komentoa kyselytyökalualueella, kun haluat luoda 'Client' -taulukon 'test' -tietokantaan, johon on asennettu uuid-ossp-moduuli. Saat CREATE TABLE -viestin, mikä tarkoittaa, että taulukko on luotu oikein.
Kun lisäät uuden rivin määrittämättä 'Client_id-kenttä' -arvoa, PostgreSQL voi tuottaa metodin "uuid_generate_v4 ()" tuottamaan "Client_id" -arvon. INSERT-käskyllä asetamme siihen useita arvoja. Seuraava vastausnäyttö ilmestyy alla olevan ohjeen suorittamisen jälkeen, mikä osoittaa, että ilmoitetut arvot sisällytettiin tehokkaasti Client-taulukkoon.
Haemme nyt kaikki Client-taulukon tietueet käyttämällä kyselyeditorin työkalun SELECT-kyselyä. Saat seuraavan lähdön suorittamalla alla mainitun käskyn, joka näyttää kaikki tai suurimman osan asiakastaulukon tiedoista. "Client_id" -kentässä on UUID-arvot, jotka on tuotettu "uuid_generate_v4 ()" -menetelmällä, kuten alla olevassa kuvassa näkyy.
>> VALITSE * FROM Client;
Johtopäätös
Tämä artikkeli käsitteli PostgreSQL UUID -tietotyyppiosan pääkohtia PostgreSQL pgAdmin 4: n graafisen käyttöliittymän ja komentorivin kuoren avulla, mukaan lukien seuraavat:
- Tuloksena olevat sarakkeen UUID-arvot tallennetaan PostgreSQL UUID -tietotyyppiin.
- UUID-arvojen luomiseksi CREATE Extension -kyselyä on käytettävä uuid-ossp-pakettiapuohjelman syöttämiseen.
- Saatat tarvita ”uuid_generate_v4 ()” -ominaisuutta poimiaksesi dynaamisesti taulukon tiettyjen sarakkeiden UUID-tulokset.
Toivottavasti et törmää ongelmiin työskennellessäsi UUID-tyyppien ja -toimintojen parissa PostgreSQL: ssä.