PostgreSQL 数组类型教程
PostgreSQL 的数组列可以存储变长列表,支持任意维度,并可用 ANY / ALL 做集合匹配。适合标签、枚举集合等场景。
本篇内容
- 定义数组列与字面量写法
- 访问元素与切片
- 展开:unnest 与 generate_subscripts
- 包含判断与 ANY / ALL
- 多维数组与 GIN 索引
定 义与写入
CREATE TABLE articles (
id BIGINT GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
title TEXT NOT NULL,
-- 一维文本数组,默认空数组
tags TEXT[] NOT NULL DEFAULT '{}'
);
INSERT INTO articles (title, tags) VALUES
('PostgreSQL 入门', ARRAY['db', 'sql', 'tutorial']),
('数组详解', '{"db","array"}');