Como fazer o incremento automático do PostgreSQL

Como Fazer O Incremento Automatico Do Postgresql



Uma maneira de garantir identidades exclusivas em seu banco de dados PostgreSQL é usar o recurso de incremento automático. Quando ativado, esse recurso gera uma identidade exclusiva para cada nova entrada na sua tabela. Com o incremento automático, se você tentar inserir um novo valor com o mesmo identificador exclusivo, ocorrerá um erro. O incremento automático pode ser usado em diferentes instâncias, e você pode definir como deseja que o identificador único seja gerado. Mais detalhes sobre o incremento automático do PostgreSQL estão detalhados nesta postagem. Leia!

Dois métodos para incremento automático do PostgreSQL

Ao criar um banco de dados, você deve ter uma chave primária para cada tabela para garantir que nenhuma duplicata apareça nas tabelas. Uma maneira de criar chaves primárias é usar o recurso de incremento automático para o tipo de dados INT. O PostgreSQL gera o valor da chave primária para todas as entradas, liberando o desenvolvedor do incômodo de digitar manualmente a chave primária.

Existem duas abordagens que você pode usar para criar incremento automático em seu banco de dados PostgreSQL.







Método 1: usando o pseudotipo SERIAL

A maneira padrão de criar incremento automático para chaves primárias em seu banco de dados é usando a palavra-chave SERIEL. Quando utilizado, o pseudotipo SERIAL cria uma sequência para gerar os valores. Ele anota o próximo valor na sequência e sempre que você insere um novo valor, ele recebe uma identidade exclusiva.



Observe que esse incremento automático é atribuído a um tipo de dados INT e é excluído quando a tabela ou coluna é eliminada.



Esta é a sintaxe para criar um incremento automático:





CRIAR MESA NOME DA TABELA ( id SERIAL tipo_dados ) ;

Para o nosso caso, vamos criar uma tabela chamada “details” que contém o “user_id” como nosso incremento automático e chave primária. Também incluímos duas outras colunas.



Quando queremos inserir os valores em nossa tabela, inserimos apenas nas demais colunas e deixamos de fora a coluna de incremento automático, pois seus valores são gerados automaticamente. Aqui está um exemplo onde adicionamos cinco entradas à nossa tabela:

Quando utilizamos a instrução SELECT para verificar os registros da tabela, observe que a coluna “user_id” contém identidades únicas que, no nosso caso, são números começando em 1. É assim que se faz o incremento automático do PostgreSQL usando o pseudotipo SERIAL.

Método 2: Criando uma Sequência

Ao usar o pseudotipo SERIAL para criar os valores de incremento automático, você não controla como suas identidades exclusivas são criadas. No exemplo anterior, vimos que nossas identidades únicas começam em 1. Porém, se você deseja controlar esses valores, digamos que deseja definir em que ponto começar a gerá-los, você deve criar uma sequência customizada.

PostgreSQL possui a opção SEQUENCE onde você pode especificar o nome da coluna a ser usada para o incremento automático e definir o valor inicial da coluna. Por exemplo, se quisermos iniciar os valores em 100, criamos a seguinte sequência personalizada:

CRIAR SEQUÊNCIA nome_coluna start_value;

Depois de criar a sequência, agora você pode criar sua tabela. Observe que você deve usar o mesmo nome de coluna onde criou uma sequência como “nextval('holder')” para a tabela criada. Dessa forma, o PostgreSQL referencia a sequência para saber qual ordem seguir na geração da identidade única das colunas.

Executamos o seguinte comando para criar nossa tabela:

Prossiga inserindo os valores na tabela criada para as colunas relevantes.

Quando executamos a consulta “select” para listar as entradas da tabela, podemos ver que conseguimos controlar nosso incremento automático. A coluna “user_id” inicia seu valor em 100 e gera os valores subsequentes para as demais entradas que inserimos na tabela.

Essa é a outra maneira de criar o incremento automático para PostgreSQL.

Conclusão

Criar um incremento automático é benéfico para criar exclusividade em sua tabela. Quando você quiser definir uma chave primária para sua tabela, use o recurso de incremento automático para o tipo de dados INT. O PostgreSQL gera os valores automaticamente, garantindo que não existam duplicatas em sua tabela. Definimos como criar o incremento automático para PostgreSQL e fornecemos dois exemplos dos dois métodos que você pode usar. Ambos os métodos são aplicáveis ​​dependendo do cenário que você possui. Experimente!