Resumo: neste tutorial, você aprenderá sobre os tipos de dados de caracteres PostgreSQL incluindo CHAR, VARCHAR, e TEXT, e aprenderá como selecionar os tipos de caracteres certos para suas tabelas.

Introdução aos tipos de caracteres PostgreSQL

PostgreSQL fornece três tipos de caracteres primários: CHARACTER(n) ou CHAR(n), CHARACTER VARYINGING(n) ou VARCHAR(n), e TEXT, onde n é um número inteiro positivo.

A tabela a seguir ilustra mal os tipos de caracteres no PostgreSQL:

Tipos de caracteres Descrição
CHARACTER VARYING(n), VARCHAR(n) comprimento variável com limite de comprimento
CHARACTER(n), CHAR(n) comprimento fixo, almofadado em branco
TEXT, VARCHAR comprimento variável ilimitado

ambos CHAR(n) e VARCHAR(n) podem armazenar até n caracteres. Se você tentar armazenar uma string que tenha mais de n caracteres, o PostgreSQL irá emitir um erro.

No entanto, uma exceção é que se os caracteres em excesso são todos os espaços, o PostgreSQL truncata os espaços até o comprimento máximo (n) e armazena os caracteres.

Se uma string for explicitamente lançada para um CHAR(n) ou VARCHAR(n), o PostgreSQL truncará a string para n caracteres antes de inseri-la na tabela.

O tipo de dado TEXT pode armazenar uma string com comprimento ilimitado.

Se você não especificar o n inteiro para o tipo de dado VARCHAR, ele se comporta como o tipo de dado TEXT. O desempenho do VARCHAR (sem o tamanho n) e TEXT são os mesmos.

A única vantagem de especificar o especificador de comprimento para o tipo de dados VARCHAR é que o PostgreSQL irá emitir um erro se você tentar inserir uma string que tenha mais de n caracteres na coluna VARCHAR(n).

Unlike VARCHAR, The CHARACTER or CHAR without the length specifier (n) is the same as the CHARACTER(1) or CHAR(1).

Diferente de outros sistemas de banco de dados, no PostgreSQL, não há diferença de performance entre três tipos de caracteres.

Na maioria dos casos, você deve usar TEXT ou VARCHAR. E você deve usar o VARCHAR(n) quando quiser que o PostgreSQL verifique o comprimento.

Exemplos de tipos de caracteres PostgreSQL

Vejamos um exemplo para ver como os CHAR , VARCHAR , e TEXT tipos de dados funcionam.

Primeiro, crie uma nova tabela chamada character_tests:

Code language: SQL (Structured Query Language) (sql)

Então, insira uma nova linha na character_tests tabela.

Code language: SQL (Structured Query Language) (sql)

PostgreSQL emitiu um erro:

Code language: SQL (Structured Query Language) (sql)

É porque o tipo de dados da coluna x é char(1) e tentamos inserir uma string com três caracteres nesta coluna. Vamos corrigir isso:

Code language: SQL (Structured Query Language) (sql)

PostgreSQL emite um erro diferente:

Code language: Shell Session (shell)

É porque tentamos inserir uma string com mais de 10 caracteres na coluna y que tem o tipo de dado varchar(10).

A seguinte instrução insere uma nova linha na tabela character_tests com sucesso.

Code language: SQL (Structured Query Language) (sql)
Code language: SQL (Structured Query Language) (sql)
Code language: Shell Session (shell)

Resumo

  • PostgreSQL suporta CHAR, VARCHAR, e TEXT tipos de dados. O CHAR é um tipo de caractere de comprimento fixo enquanto o VARCHAR e TEXT são tipos de caractere de comprimento variável.
  • Utilizar VARCHAR(n) se você quiser validar o comprimento da string (n) antes de inserir ou atualizar para uma coluna.
  • VARCHAR (sem o especificador de comprimento) e TEXT são equivalentes.
  • Este tutorial foi útil ?
  • Sim Não
  • Deixe uma resposta

    O seu endereço de email não será publicado.