PostgreSQL UUID -Datentyp

PostgreSQL UUID -Datentyp

UUID steht für universelle eindeutige Kennung, die durch RFC 4122 definiert ist. Der UUID-Wert wird durch einen Algorithmus berechnet und der Wert ist 128-Bit lang. Die UUID erzeugt einen eindeutigen Wert, der besser ist als serielle Daten, die singuläre Werte erzeugen. PostgreSQL hat keine Funktion, um den UUID -Wert zu erstellen. Es hängt vom benannten Drittanbietermodul ab uUid-ossp Dies greift auf die erforderlichen Funktionen zu, um den UUID -Wert zu erstellen. Der Weg zur Installation der uUid-ossp Modul und die Verwendung des UUID -Datentyps in der PostgreSQL -Datenbank wurden in diesem Tutorial gezeigt.

Voraussetzungen:

Sie müssen die neueste Version von PostgreSQL -Paketen auf dem Linux -Betriebssystem installieren, bevor Sie die in diesem Tutorial gezeigten SQL -Anweisungen ausführen. Führen Sie die folgenden Befehle aus, um die Postgresql zu installieren und zu starten:

$ sudo apt-get -y install postgresql postgresql-contrib
$ sudo systemctl starten postgresql.Service

Führen Sie den folgenden Befehl aus, um sich mit Root -Erlaubnis bei PostgreSQL anzumelden:

$ sudo -u postgres psql

Installieren Sie das UUID-OSSP-Modul:

Wenn der uUid-ossp Das Modul wird zuvor in der PostgreSQL nicht installiert und fährt dann den folgenden Befehl aus, um das Modul zu installieren. Hier wurde die Klausel "Wenn nicht existiert" verwendet, um die Neuinstallation des Moduls zu verhindern, wenn es bereits installiert ist.

# Erweiterung erstellen, wenn nicht "uUid-ossp" existiert;

Nach der Installation der uUid-ossp MODUL SELDEM MODUL Führen Sie den folgenden SELECT -Befehl aus, um eine UUID basierend auf der MAC -Adresse des Computers, des Zeitstempelwerts und eines zufälligen Werts zu generieren. Hier das uUid_generate_v1 () Die Funktion wurde verwendet, um den eindeutigen Wert zu generieren.

# UUid_generate_v1 () auswählen;

Die folgende Ausgabe erscheint nach Ausführung der obigen Abfrage:

Führen Sie den folgenden SELECT -Befehl aus, um UUID basierend auf dem Zufallswert zu generieren. Hier das uUid_generate_v4 () Die Funktion wurde verwendet, um den eindeutigen Wert zu generieren.

# UUid_generate_v4 () auswählen;

Die folgende Ausgabe erscheint nach Ausführung der obigen Abfrage:

Verwendung von UUID in PostgreSQL:

Bevor Sie eine Tabelle mit dem Booleschen Datentyp erstellen, müssen Sie eine PostgreSQL -Datenbank erstellen. Führen Sie also den folgenden Befehl aus, um eine Datenbank mit dem Namen 'zu erstellentestdb':

# Datenbank testdb erstellen;

Nach dem Erstellen der Datenbank wird die folgende Ausgabe angezeigt:

Erstellen Sie eine Tabelle mit dem UUID -Datentyp:

Die Rechnungs -ID ist für jedes Rechnungsdokument immer eindeutig eindeutig. Der UUID -Datentyp ist eine bessere Option, um eine eindeutige ID zu erstellen. Erstellen Sie eine Tabelle mit dem Namen 'Rechnung'In der aktuellen Datenbank mit vier Feldern. Der erste Feldname ist Rechnungsberechtigt Welches ist der Hauptschlüssel der Tabelle. Der Datentyp dieses Feldes ist Uuid. Wenn für die kein Wert bereitgestellt wird Rechnungsberechtigt Feld zum Zeitpunkt des Einfügungsdaten. Der zweite Feldname ist Order_date und der Datentyp dieses Feldes ist DATUM mit der das Bestelldatum gespeichert wird. Der dritte Feldname ist Kundennummer und der Datentyp dieses Feldes ist char (6), um den Stringwert von 4 Zeichen zu speichern. Das vierte Feld ist Bestellbetrag und der Datentyp dieses Feldes ist Int Bestellbetrag speichern.

# Tabellenrechnung erstellen (
INVOICE_ID UUID Standard uUid_generate_v4 (),
Order_date Datum nicht null,
Customer_id char (6) nicht null,
Order_amount int nicht null,
Primärschlüssel (Invoice_id));

Die folgende Ausgabe wird angezeigt, wenn die Tabelle erfolgreich erstellt wird:

Führen Sie die folgende Abfrage aus, um vier Datensätze in die Einfügung in die Rechnung Tisch. Die Werte für die Rechnungsberechtigt Das Feld ist in der folgenden Abfrage nicht angegeben. Also die uUid_generate_v4 () Funktion generiert die Werte für die Rechnungsberechtigt Feld.

# In Rechnung einfügen (order_date, customer_id, order_amount)
Werte ('10. Mai 2022', '893456', 70000),
('12. Mai 2022', '885634', 65000),
('17. Mai 2022', '985632', 30000),
('21. Mai 2022', '891256', 23000);

Nach der Ausführung der obigen Abfrage wird die folgende Ausgabe angezeigt. Die Ausgabe zeigt, dass vier Datensätze ordnungsgemäß in die eingefügt wurden Rechnung Tisch:

Führen Sie die folgende Auswahlabfrage aus, um alle Datensätze aus dem zu lesen Rechnung Tisch:

# Auswählen * aus der Rechnung;

Nach der Ausführung der obigen Abfrage wird die folgende Ausgabe angezeigt. Die Ausgabe zeigt die vier eindeutigen ID, die für die generiert wurden Rechnungsberechtigt Feld:

Leiten Sie Folgendes aus WÄHLEN Abfrage, die diese Datensätze aus dem lesen wird Rechnungstabelle wo der Wert der Auftragsdatum Das Feld ist weniger als 2022-05-15:

# Wählen Sie * aus der Rechnung, wo order_date < '2022-05-15';

Nach der Ausführung der obigen Abfrage wird die folgende Ausgabe angezeigt. Die Tabelle enthält zwei Datensätze, bei denen der Wert der Auftragsdatum ist weniger als '2022-05-15'.

Leiten Sie Folgendes aus WÄHLEN Abfrage, die diese Datensätze aus der Rechnungstabelle lesen, wobei der Wert der Auftragsdatum Das Feld liegt zwischen '2022-05-15' und '2022-05-20'.

# Wählen Sie * aus der Rechnung, wo order_date zwischen '2022-05-15' und '2022-05-20';

Nach der Ausführung der obigen Abfrage wird die folgende Ausgabe angezeigt. Die Tabelle enthält einen Datensatz, der dem Zustand entspricht.

Leiten Sie Folgendes aus WÄHLEN Abfrage, die diese Datensätze aus der Rechnungstabelle lesen, wobei der Wert der Bestellbetrag ist größer als 50000.

# Wählen Sie * aus der Rechnung, wo order_amount> 50000;

Nach der Ausführung der obigen Abfrage wird die folgende Ausgabe angezeigt. In der Tabelle gibt es zwei Datensätze, in denen der Wert der Bestellbetrag ist größer als 50000.

Leiten Sie Folgendes aus WÄHLEN Abfrage, die diese Datensätze aus der Rechnungstabelle lesen, wobei der Wert der Bestellbetrag ist größer als 50000 und weniger als 70000.

# Wählen Sie * aus der Rechnung, wo order_amount> 50000 und order_amount < 70000;

Nach der Ausführung der obigen Abfrage wird die folgende Ausgabe angezeigt. Die Tabelle enthält einen Datensatz, der dem Zustand entspricht.

Abschluss:

Die Art, die zu verwenden UUID -Datentyp und die Verwendung dieses Datentyps zum Generieren einer eindeutigen ID in PostgreSQL In diesem Tutorial wurden Tabellen gezeigt. Der Zweck der Verwendung des UUID -Datentyp wird nach dem richtigen Lesen dieses Tutorials gelöscht.