Tipo de dados PostgreSQL text vs varchar sem comprimento

10

No PostgreSQL, você pode criar uma coluna com caracteres de tipo de dados variando (sem precisão de comprimento) ou texto como este:

ALTER TABLE test ADD COLUMN c1 varchar;
ALTER TABLE test ADD COLUMN c2 text;

Existe uma diferença entre esses dois tipos de dados?

A documentação não é clara sobre isso. Eles dizem :

Se a variação de caracteres for usada sem o especificador de comprimento, o tipo aceitará seqüências de caracteres de qualquer tamanho.

[...]

Além disso, o PostgreSQL fornece o tipo de texto , que armazena seqüências de caracteres de qualquer tamanho.

Parece que esses dois tipos de dados são equivalentes, mas não são explícitos ... Mais informações sobre isso?

Obrigado Nico

Nicolas Payart
fonte
7
Veja a resposta em serverfault.com
Daniel Vérité

Respostas:

5

Não há diferença entre os dois tipos de dados. Eles usam exatamente o mesmo armazenamento e os mesmos operadores.

Josh Berkus
fonte