PostgreSQL

Como configurar a chave primária de incremento automático do PostgreSQL?

Como configurar a chave primária de incremento automático do PostgreSQL?
Pode haver ocasiões em que você constrói e mantém tabelas no PostgreSQL quando deseja valores específicos para uma coluna que é gerada a pedido. Isso seria particularmente verdadeiro para colunas "id" que atuam como a chave primária da tabela. Felizmente, o pseudo-tipo SERIAL permite fazer uma série inteira de auto-incremento conveniente. Uma série é um tipo de objeto de banco de dados no PostgreSQL que produz uma série de índices ou inteiros. Uma sequência PostgreSQL produz uma string de inteiros distintos, tornando-a adequada para ser usada como uma chave primária ao gerar uma nova tabela. Demonstraremos a você quais menus de autoincremento no PostgreSQL e usaremos o pseudo-tipo SERIAL em todo este guia.

Sintaxe:

A sintaxe geral para criar a chave primária de incremento automático é a seguinte:

>> CRIAR TABELA nome_tabela (id SERIAL);

Vamos agora dar uma olhada na declaração CREATE TABLE em mais detalhes:

Para obter o conceito de incremento automático, certifique-se de que o PostgreSQL esteja montado e configurado em seu sistema antes de continuar com as ilustrações neste guia. Abra o shell da linha de comando do PostgreSQL na área de trabalho. Adicione o nome do servidor no qual deseja trabalhar, caso contrário, deixe-o como padrão. Escreva o nome do banco de dados que está em seu servidor no qual você deseja trabalhar. Se você não quiser alterá-lo, deixe-o como padrão. Estaremos usando o banco de dados “teste”, é por isso que o adicionamos. Você também pode trabalhar na porta padrão 5432, mas também pode alterá-la. No final, você deve fornecer o nome de usuário para o banco de dados que você escolher. Deixe como padrão se você não quiser alterá-lo. Digite sua senha para o nome de usuário selecionado e pressione “Enter” no teclado para começar a usar o shell de comando.

Usando a palavra-chave SERIAL como tipo de dados:

Quando criamos uma tabela, geralmente não adicionamos a palavra-chave SERIAL no campo da coluna primária. Isso significa que temos que adicionar os valores à coluna da chave primária ao usar a instrução INSERT. Mas quando usamos a palavra-chave SERIAL em nossa consulta ao criar uma tabela, não devemos precisar adicionar valores de coluna primária ao inserir os valores. Vamos dar uma olhada nisso.

Exemplo 01:

Crie uma tabela “Teste” com duas colunas “id” e “nome”. A coluna “id” foi definida como a coluna de chave primária, pois seu tipo de dados é SERIAL. Por outro lado, a coluna “nome” é definida como o tipo de dados TEXT NOT NULL. Experimente o comando abaixo para criar uma tabela e a tabela será criada de forma eficiente como pode ser visto na imagem abaixo.

>> CREATE TABLE Test (id SERIAL PRIMARY KEY, name TEXT NOT NULL);

Vamos inserir alguns valores na coluna “nome” da tabela recém-criada “TESTE”. Não adicionaremos nenhum valor à coluna “id”. Você pode ver que os valores foram inseridos com sucesso usando o comando INSERT conforme indicado abaixo.

>> INSERT INTO Teste (nome) VALORES ('Aqsa'), ('Rimsha'), ('Khan');

É hora de verificar os registros da tabela 'Teste'. Tente a instrução SELECT abaixo no shell de comando.

>> SELECT * FROM Test;

Na saída abaixo, você pode notar que a coluna “id” possui automaticamente alguns valores, embora não tenhamos adicionado nenhum valor do comando INSERT por causa do tipo de dados SERIAL que especificamos para a coluna “id”. É assim que o tipo de dados SERIAL funciona por conta própria.

Exemplo 02:

Outra maneira de verificar o valor da coluna do tipo de dados SERIAL é usando a palavra-chave RETURNING no comando INSERT. A declaração abaixo cria uma nova linha na tabela “Teste” e produz o valor para o campo “id”:

>> INSERT INTO Test (nome) VALUES ('Hassam') RETURNING id;

Verificando os registros da tabela “Teste” usando a consulta SELECT, obtivemos o resultado abaixo conforme mostrado na imagem. O quinto registro foi adicionado de forma eficiente à tabela.

>> SELECT * FROM Test;

Exemplo 03:

A versão alternativa da consulta de inserção acima está usando a palavra-chave DEFAULT. Estaremos usando o nome da coluna “id” no comando INSERT, e na seção VALUES, daremos a ela a palavra-chave DEFAULT como seu valor. A consulta abaixo funcionará da mesma forma durante a execução.

>> INSERT INTO Teste (id, nome) VALORES (DEFAULT, 'Raza');

Vamos verificar a tabela novamente usando a consulta SELECT da seguinte maneira:

>> SELECT * FROM Test;

Você pode ver na saída abaixo, o novo valor foi adicionado enquanto a coluna “id” foi incrementada por padrão.

Exemplo 04:

O número de seqüência do campo da coluna SERIAL pode ser encontrado em uma tabela no PostgreSQL. O método pg_get_serial_sequence () é usado para fazer isso. Temos que usar a função currval () junto com o método pg_get_serial_sequence (). Nesta consulta, estaremos fornecendo o nome da tabela e seu nome de coluna SERIAL nos parâmetros da função pg_get_serial_sequence (). Como você pode ver, especificamos a tabela “Teste” e a coluna “id”. Este método é usado no exemplo de consulta abaixo:

>> SELECT currval (pg_get_serial_sequence ('Teste', 'id'));

É importante notar que nossa função currval () nos ajuda a extrair o valor mais recente da sequência, que é “5”. A imagem abaixo é uma ilustração de como o desempenho poderia ser.

Conclusão:

Neste tutorial do guia, demonstramos como usar o pseudo-tipo SERIAL para autoincremento no PostgreSQL. Usando uma série no PostgreSQL, é simples construir um conjunto de números de autoincremento. Com sorte, você será capaz de aplicar o campo SERIAL às descrições das tabelas usando nossas ilustrações como referência.

Emular cliques do mouse passando o mouse usando o mouse sem cliques no Windows 10
Usar um mouse ou teclado na postura errada de uso excessivo pode resultar em muitos problemas de saúde, incluindo tensão, síndrome do túnel do carpo e...
Adicione gestos do mouse ao Windows 10 usando essas ferramentas gratuitas
Nos últimos anos, os computadores e sistemas operacionais evoluíram muito. Houve um tempo em que os usuários tinham que usar comandos para navegar pel...
Controle e gerencie o movimento do mouse entre vários monitores no Windows 10
Gerenciador de mouse com tela dupla permite que você controle e configure o movimento do mouse entre vários monitores, diminuindo seus movimentos pert...