PostgreSQL UUID datatype

PostgreSQL UUID datatype

UUID står for universell unik identifikator som er definert av RFC 4122. UUID-verdien beregnes av en algoritme og verdien er 128-bit lang. UUID genererer en unik verdi som er bedre enn seriedata som genererer entallverdier. PostgreSQL har ingen funksjoner for å skape UUID -verdien. Det avhenger av tredjepartsmodulen som heter UUID-OSSP som får tilgang til de nødvendige funksjonene for å skape UUID -verdien. Måten å installere UUID-OSSP Modulen og bruken av UUID -datatypen i PostgreSQL -databasen er vist i denne opplæringen.

Forutsetninger:

Du må installere den nyeste versjonen av PostgreSQL -pakker på Linux -operativsystemet før du utfører SQL -uttalelsene som vises i denne opplæringen. Kjør følgende kommandoer for å installere og starte PostgreSQL:

$ sudo apt-get -y installer postgreSql postgreSql-contrib
$ sudo SystemCTL Start PostgreSql.service

Kjør følgende kommando for å logge inn på PostgreSQL med rottillatelse:

$ sudo -u postgres psql

Installer UUID-OSSP-modul:

Hvis UUID-OSSP Modulen er ikke installert før i PostgreSQL, og kjør deretter følgende kommando for å installere modulen. Her har klausulen "hvis ikke eksisterer" blitt brukt for å forhindre reinstallasjon av modulen hvis den allerede er installert.

# Opprett utvidelse hvis ikke eksisterer "UUID-OSSP";

Etter å ha installert UUID-OSSP Modul med hell, kjør følgende velger kommando for å generere en UUID basert på MAC -adressen til datamaskinen, tidsstempelverdien og en tilfeldig verdi. Her, The uuid_generate_v1 () Funksjon har blitt brukt til å generere den unike verdien.

# Velg uuid_generate_v1 ();

Følgende utgang vises etter utførelse av spørringen ovenfor:

Kjør følgende valgkommando for å generere UUID basert på den tilfeldige verdien. Her, The uuid_generate_v4 () Funksjon har blitt brukt til å generere den unike verdien.

# Velg UUID_GENERATE_V4 ();

Følgende utgang vises etter utførelse av spørringen ovenfor:

Bruk av UUID i PostgreSQL:

Før du oppretter noen tabell med den boolske datatypen, må du opprette en PostgreSQL -database. Så kjør følgende kommando for å opprette en database som heter 'Testdb':

# Opprett databasetestdb;

Følgende utdata vises etter å ha opprettet databasen:

Lag en tabell ved hjelp av UUID -datatypen:

Faktura -IDen er alltid unik for ethvert fakturadokument. UUID -datatypen er et bedre alternativ for å lage en unik ID. Lag en tabell som heter 'Faktura'I den nåværende databasen med fire felt. Det første feltnavnet er Faktura_id som er den primære nøkkelen til tabellen. Datatypen til dette feltet er Uuid. Hvis det ikke gis noen verdi for Faktura_id Felt på tidspunktet for å sette inn data, vil standardverdien bli generert ved å bruke UUID_GENERATE_V4 () -funksjonen. Det andre feltnavnet er ordre_dato og datatypen til dette feltet er DATO som vil bli brukt til å lagre bestillingsdatoen. Det tredje feltnavnet er Kunde ID og datatypen til dette feltet er røye (6) for å lagre strengverdien til 4 tegn. Det fjerde feltet er Ordre_amount Og datatypen til dette feltet er Int For å lagre bestillingsbeløp.

# Opprett tabellfaktura (
Faktura_id uuid standard uuid_generate_v4 (),
Bestill_dato dato ikke null,
Customer_id char (6) ikke null,
Ordre_amount int ikke null,
Primærnøkkel (faktura_id));

Følgende utgang vises hvis tabellen opprettes vellykket:

Kjør følgende sett inn spørring for å sette inn fire poster i Faktura bord. Verdiene for Faktura_id Feltet er ikke gitt i følgende spørsmål. Så uuid_generate_v4 () funksjon vil generere verdiene for Faktura_id felt.

# Sett inn faktura (ordre_date, customer_id, order_amount)
Verdier ('10. mai 2022', '893456', 70000),
('12. mai 2022', '885634', 65000),
('17. mai 2022', '985632', 30000),
('21. mai 2022', '891256', 23000);

Følgende utdata vises etter utførelsen av spørringen ovenfor. Utgangen viser at fire poster er satt inn riktig i Faktura bord:

Kjør følgende velg spørring for å lese alle poster fra Faktura bord:

# Velg * fra faktura;

Følgende utdata vises etter utførelsen av spørringen ovenfor. Utgangen viser de fire unike ID -ene som genereres for Faktura_id felt:

Kjør følgende PLUKKE UT spørring som vil lese disse postene fra Faktueltabell hvor verdien av bestillingsdato Feltet er mindre enn '2022-05-15':

# Velg * fra faktura der ordre_dato < '2022-05-15';

Følgende utdata vises etter utførelsen av spørringen ovenfor. Tabellen inneholder to poster der verdien av bestillingsdato er mindre enn '2022-05-15'.

Kjør følgende PLUKKE UT spørring som vil lese disse postene fra fakturatabellen der verdien av bestillingsdato Feltet er mellom '2022-05-15' og '2022-05-20'.

# Velg * fra fakturaen der ordre_dato mellom '2022-05-15' og '2022-05-20';

Følgende utdata vises etter utførelsen av spørringen ovenfor. Tabellen inneholder en post som samsvarer med tilstanden.

Kjør følgende PLUKKE UT spørring som vil lese disse postene fra fakturatabellen der verdien av ordre_amount er større enn 50000.

# Velg * fra fakturaen der ordre_amount> 50000;

Følgende utdata vises etter utførelsen av spørringen ovenfor. To poster finnes i tabellen der verdien av ordre_amount er større enn 50000.

Kjør følgende PLUKKE UT spørring som vil lese disse postene fra fakturatabellen der verdien av ordre_amount er større enn 50000 og mindre enn 70000.

# Velg * fra faktura hvor ordre_amount> 50000 og ordre_amount < 70000;

Følgende utdata vises etter utførelsen av spørringen ovenfor. Tabellen inneholder en post som samsvarer med tilstanden.

Konklusjon:

Måten å bruke Uuid datatype og bruken av denne datatypen for å generere unik ID i PostgreSql Tabeller er vist i denne opplæringen. Hensikten med å bruke Uuid datatype vil bli ryddet etter å ha lest denne opplæringen riktig.