Tipos e funções PostgreSQL UUID

Tipos e funções PostgreSQL UUID

O PostgreSQL UUID, ou identificador único universal, é especificado pela RFC 4122 e tem um comprimento de 128 bits. Algoritmos internos são usados ​​para construir o UUID, e cada valor é distinto. O PostgreSQL tem seu próprio tipo de dados UUID e os gera com módulos. O tipo de dados UUID é comumente eliminado em bancos de dados distribuídos porque esse tipo de dados garante singularidade, em vez do tipo serial, que gera apenas valores singulares dentro de um único banco de dados. Embora o PostgreSQL permita que você salve e contraste valores UUID, este não possui métodos para criá -los em seu núcleo. Em vez disso, depende de pacotes de terceiros que possuem algoritmos específicos de geração UUID.

Vamos agora dar uma olhada em certas representações de valores UUID, como visto no diagrama abaixo. Um UUID é composto de 32 bits de dígitos hexadecimais com até quatro hífens, como visto no diagrama abaixo. Um UUID também pode ter um valor de 0, o que significa que todos os bits estão vazios.

Crie UIID no PostgreSql Pgadmin 4 GUI

Abra a interface de usuário gráfica do PostGresql 'PGadmin 4'. Em seguida, conecte o usuário 'PostGres' com o servidor 'PostgreSQL 13', fornecendo a senha para o nome de usuário. Aperte o botão 'OK' para começar a usá -lo.

O pacote “UUID-OSSP” será instalado no banco de dados 'Teste' usando a instrução Create Extension. Se você seguir corretamente as instruções fornecidas abaixo, receberá a mensagem "Criar extensão", conforme exibido na imagem abaixo. No comando a seguir, a condição "se não existe" é eliminada, o que nos permite parar de reinstalar o pacote.

>> Crie extensão se não existe "UUID-OSSP";

Na opção 'Extensões', você pode ver o pacote recém-instalado “UUID-OSSP”.

A seguir, é apresentada uma lista das funções relacionadas ao pacote instalado do UUID-OSSP no banco de dados 'teste':

O método “UUID_GERATE_V1 ()” pode ser usado para produzir valores UUID e, dependendo do atual registro de data e hora, a coleção de endereços MAC, que também é um valor arbitrário. Quando a seguinte instrução for executada na área da ferramenta de consulta, obteremos a saída subsequente. Isso mostrará o valor UUID gerado pelo método "UUID_GENERATE_V1 ()", conforme exibido no instantâneo abaixo.

>> Selecione UUID_GENERATE_V1 ();

Crie UIID no PostgreSql Pgadmin 4 GUI

Abra o seu shell da linha de comando PostGresql e conecte-o ao servidor localhost, ou a qualquer outro servidor ao qual você queira estar conectado, fornecendo seu nome e pressionando. Você pode alterar o banco de dados escrevendo seu nome na linha 'Database'. Como você pode ver, estamos usando o banco de dados 'teste'. Você também pode alterar seu número de porta e nome de usuário para alternar. Depois disso, você será solicitado a senha do usuário selecionado. Ao fornecer a senha, você estará pronto para ir. Se você não quiser fazer alterações aqui, deixe os espaços vazios.

O pacote "UUID-OSSP" pode ser montado usando a consulta Create Extension. Escreva o seguinte comando no shell de comando de PostgreSQL e você pode obter a mensagem subsequente de "Criar extensão". Também lançamos a cláusula "se não existe", que nos permite parar a reinstalação do pacote.

>> Crie extensão se não existe "UUID-OSSP";

A função “UUID_GERATE_V1 ()” será usada para construir os valores UUID contingentes no registro de data e hora, o grupo de endereço MAC e um valor aleatório. Ao executar a seguinte consulta no espaço da consulta, você obterá a saída seguinte, que mostra o valor UUID criado usando o método “uuid_gereate_v1 ()”.

>> Selecione UUID_GENERATE_V1 ();

O método "UUID_GERATE_V4 ()" pode ser usado para criar um valor UUID estabelecido exclusivamente com números aleatórios, como mostrado abaixo. Isso produzirá uma saída como a seguinte.

>> Selecione UUID_GENERATE_V4 ();

Exemplo de Datatype PostGresql Uuid

Este exemplo mostra como o tipo de dados PostGresql UIID opera. Usaremos o comando create para construir uma tabela 'cliente' separada, bem como campos uuid. O ID do cliente, o primeiro nome do cliente, o sobrenome do cliente, o ID de email do cliente e o endereço do cliente são apenas algumas das colunas na tabela 'Client'. Temos usado o 'client_id' como o tipo de dados UUID, que também é a chave primária. O método "UUID_GERATE_V4 ()" também produzirá dinamicamente os valores primários da coluna fundamental. Experimente o seguinte comando da tabela Criar na área de ferramentas de consulta para construir uma tabela 'cliente' em um banco de dados 'teste' onde o módulo UUID-OSSP está instalado. Você receberá a mensagem "Criar tabela", o que significa que a tabela foi criada corretamente.

Quando você adiciona uma nova linha sem especificar o valor 'client_id field', o PostGresql pode usar o método “uuid_geneate_v4 ()” para produzir um valor 'client_id'. Com a instrução de inserção, colocaremos vários valores nele. A tela de resposta a seguir aparecerá após a execução das instruções abaixo, o que indica que os valores declarados foram efetivamente incorporados à tabela 'Cliente'.

Agora vamos buscar todos os registros da tabela 'Client' usando a consulta Select na ferramenta de editor de consulta. Você obterá a seguinte saída após executar a instrução fornecida abaixo, que mostrará todas ou mais informações na tabela do cliente. O campo 'client_id' será ocupado pelos valores UUID gerados pelo método "uuid_gereate_v4 ()", como visto na imagem abaixo.

>> selecione * do cliente;

Conclusão

Este artigo cobriu os principais pontos da parte do tipo de dados PostGresql UUID usando a interface gráfica do usuário PostGresql PGadmin 4 e o shell da linha de comando, incluindo o seguinte:

  • Os valores UUID resultantes para uma coluna são armazenados no tipo de dados PostGresql UUID.
  • Para construir valores UUID, a consulta de extensão Criar deve ser usada para inserir o utilitário de pacote UUID-OSSP.
  • Você pode precisar do recurso "UUID_GENERATE_V4 ()" para extrair dinamicamente os resultados UUID para as colunas específicas da tabela.

Felizmente, você não terá problemas enquanto trabalha nos tipos e funções UUID no PostgreSQL.