通过 pgAdmin "character varying" 和 "character varying[]" 之间的 PostgreSQL 区别

PostgreSQL difference between "character varying" and "character varying[]" via pgAdmin

下面两种数据类型有什么区别?

我认为当我们还想使用长度约束时使用character varying[]。但是,从我在 pgAdmin 中看到的情况来看,我们也可以将此约束与 character varying.

一起使用

“字符变化”(或简称为 varchar)是一个长度可变的字符串(文本)字段(在您的情况下最多 100 个字符)。 [] 表示一个数组。即,“字符变化[]”是此类“字符变化”字符串的数组

文本与文本数组。它表示单个用户名,可能有多个电子邮件存储为 VARCHAR(100).

类型的数组
CREATE TABLE tab(
   username character varying(100),
   email character varying(100)[]
);

INSERT INTO tab(username, email) VALUES ('user', '{"a@domain.com", "b@domain.com"}');

SELECT *, email[1], email[2]
FROM tab;

db<>fiddle demo

输出:

+-----------+------------------------------+---------------+--------------+
| username  |            email             |    email      |    email     |
+-----------+------------------------------+---------------+--------------+
| user      | {a@domain.com,b@domain.com}  | a@domain.com  | b@domain.com |
+-----------+------------------------------+---------------+--------------+