在 PostgreSQL 中,数组(Array) 是一种非常强大且原生的数据类型。与传统的只允许单一值的关系型数据库不同,PostgreSQL 允许将一列定义为多维数组,它可以存储任何内置类型、自定义类型或枚举类型的集合(例如 , , 等)。 下面详细为您讲解 PostgreSQL 中数组数据类型的基础用法、核心功能以及它的适用与不适用场景。 --- 一、 基础用法与核心操作 1. 定义表与插入数据 可以通过在类型后面加上 来定义数组列。 2. 查询与操作 注意:PostgreSQL 的数组索引默认是从 1 开始的,而不是 0。 3. 神奇的 函数 是数组操作中最常用的函数,它可以将一个数组“展开”成多行(行转列的逆操作),这在做统计和 JOIN 时极其有用。 --- 二、 适用场景 使用数组的主要目的是适度反范式(Denormalization),减少 JOIN 操作,提升查询性能或简化数据模型。 1. 标签系统 (Tagging) 这是数组最经典的适用场景。一篇文章可能有几个标签,如果使用传统的三范式,你需要三张表:, , 和中间表 。 用数组的优势: 直接在 表中加一个 列...