Tipo Caractere

No PostgreSQL, existem três tipos principais de dados de caractere que você pode usar para armazenar strings de texto: CHAR(n), VARCHAR(n), e TEXT. Aqui está uma explicação de cada um deles:

1. CHAR(n):

O tipo de dados CHAR(n) armazena uma string de comprimento fixo, onde n representa o número de caracteres. Se a string for menor que n, ela será preenchida com espaços em branco. Por exemplo, se você definir uma coluna como CHAR(10) e inserir a palavra “Olá”, ela será armazenada como “Olá " (com seis espaços em branco no final para atingir a largura de 10 caracteres).

CREATE TABLE exemplo_char (
    id SERIAL PRIMARY KEY,
    nome CHAR(10)
);

INSERT INTO exemplo_char (nome) VALUES ('Olá');

2. VARCHAR(n):

O tipo de dados VARCHAR(n) armazena uma string de comprimento variável, com um limite máximo de n caracteres. Ao contrário de CHAR(n), VARCHAR(n) não adiciona espaços em branco à string. Ele armazena apenas o número de caracteres realmente presentes na string.

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

INSERT INTO exemplo_varchar (nome) VALUES ('Olá');

3. TEXT:

O tipo de dados TEXT é usado para armazenar strings de comprimento variável sem limite máximo. Ele pode armazenar strings de qualquer comprimento.

CREATE TABLE exemplo_text (
    id SERIAL PRIMARY KEY,
    descricao TEXT
);

INSERT INTO exemplo_text (descricao) VALUES ('Esta é uma descrição muito longa que pode ter qualquer número de caracteres.');

Em geral, você usará CHAR(n) quando precisar de uma string de comprimento fixo (por exemplo, para números de telefone), VARCHAR(n) quando precisar de uma string de comprimento variável com um limite máximo conhecido (por exemplo, para nomes) e TEXT quando precisar de uma string de comprimento variável sem limite máximo conhecido (por exemplo, para descrições). Escolha o tipo de dados que melhor se ajusta aos requisitos de seu aplicativo.