Serial

Em PostgreSQL, SERIAL é um tipo de dado especial usado para criar uma coluna de identidade autoincremental. Ao usar o tipo de dado SERIAL, você cria uma coluna que automaticamente gera valores únicos e sequenciais para cada nova linha inserida na tabela.

A coluna de SERIAL é frequentemente usada como chave primária para garantir identificadores únicos para cada registro em uma tabela.

Aqui está um exemplo de como criar uma tabela com uma coluna SERIAL:

CREATE TABLE exemplo_serial (
    id SERIAL PRIMARY KEY,
    nome VARCHAR(255)
);

Neste exemplo, a tabela exemplo_serial tem uma coluna chamada id do tipo SERIAL. A palavra-chave SERIAL é uma abreviação para um tipo de dado inteiro grande (BIGINT) com uma sequência associada e uma restrição de chave primária.

Ao inserir dados na tabela, você não precisa fornecer um valor para a coluna id. O PostgreSQL automaticamente gera um valor único e sequencial para essa coluna:

INSERT INTO exemplo_serial (nome) VALUES ('Exemplo 1');
INSERT INTO exemplo_serial (nome) VALUES ('Exemplo 2');

A coluna id será automaticamente preenchida com valores únicos e crescentes à medida que você insere novas linhas na tabela. O PostgreSQL cuida da geração automática dos valores da coluna SERIAL.

Além disso, é importante notar que a coluna SERIAL também cria uma sequência associada. Se você deseja usar explicitamente essa sequência em outras partes do seu código SQL, você pode referenciá-la pelo nome da tabela e o nome da coluna, como exemplo_serial_id_seq.

Por exemplo, para obter o próximo valor da sequência exemplo_serial_id_seq, você pode fazer:

SELECT nextval('exemplo_serial_id_seq');

Isso retornará o próximo valor da sequência associada à coluna SERIAL na tabela exemplo_serial.