跳转到主要内容

pg_lion_citext

为 lion 索引提供大小写不敏感的 citext 运算符类

概览

扩展包名版本分类许可证语言
pg_lion0.3.0FEATPostgreSQLSQL
ID扩展名BinLibLoadCreateTrustReloc模式
2715pg_lion否是否是否是-
2716pg_lion_citext否否否是否是-
2717pg_lion_vector否是否是否是-
相关扩展pg_lion citext

版本

类型仓库版本PG 大版本包名依赖
EXTPIGSTY0.3.01817161514pg_lionpg_lion, citext
RPMPIGSTY0.3.01817161514pg_lion_$vpostgresql$v-contrib
DEBPIGSTY0.3.01817161514postgresql-$v-pg-lion-
OS / PGPG18PG17PG16PG15PG14
el8.x86_64PIGSTY 0.3.0PIGSTY 0.3.0PIGSTY 0.3.0N/AN/A
el8.aarch64PIGSTY 0.3.0PIGSTY 0.3.0PIGSTY 0.3.0N/AN/A
el9.x86_64PIGSTY 0.3.0PIGSTY 0.3.0PIGSTY 0.3.0N/AN/A
el9.aarch64PIGSTY 0.3.0PIGSTY 0.3.0PIGSTY 0.3.0N/AN/A
el10.x86_64PIGSTY 0.3.0PIGSTY 0.3.0PIGSTY 0.3.0N/AN/A
el10.aarch64PIGSTY 0.3.0PIGSTY 0.3.0PIGSTY 0.3.0N/AN/A
d12.x86_64PIGSTY 0.3.0PIGSTY 0.3.0PIGSTY 0.3.0N/AN/A
d12.aarch64PIGSTY 0.3.0PIGSTY 0.3.0PIGSTY 0.3.0N/AN/A
d13.x86_64PIGSTY 0.3.0PIGSTY 0.3.0PIGSTY 0.3.0N/AN/A
d13.aarch64PIGSTY 0.3.0PIGSTY 0.3.0PIGSTY 0.3.0N/AN/A
u22.x86_64PIGSTY 0.3.0PIGSTY 0.3.0PIGSTY 0.3.0N/AN/A
u22.aarch64PIGSTY 0.3.0PIGSTY 0.3.0PIGSTY 0.3.0N/AN/A
u24.x86_64PIGSTY 0.3.0PIGSTY 0.3.0PIGSTY 0.3.0N/AN/A
u24.aarch64PIGSTY 0.3.0PIGSTY 0.3.0PIGSTY 0.3.0N/AN/A
u26.x86_64PIGSTY 0.3.0PIGSTY 0.3.0PIGSTY 0.3.0N/AN/A
u26.aarch64PIGSTY 0.3.0PIGSTY 0.3.0PIGSTY 0.3.0N/AN/A

构建

您可以使用 pig build 命令构建 pg_lion 扩展的 RPM / DEB 包:

pig build pkg pg_lion         # 构建 RPM / DEB 包

安装

您可以直接安装 pg_lion 扩展包的预置二进制包,首先确保 PGDG 和 PIGSTY 仓库已经添加并启用:

pig repo add pgsql -u          # 添加仓库并更新缓存

使用 pig 或者是 apt/yum/dnf 安装扩展:

安装
pig install pg_lion;          # 当前活跃 PG 版本安装
pig
pig ext install -y pg_lion -v 18  # PG 18
pig ext install -y pg_lion -v 17  # PG 17
pig ext install -y pg_lion -v 16  # PG 16
dnf
dnf install -y pg_lion_18       # PG 18
dnf install -y pg_lion_17       # PG 17
dnf install -y pg_lion_16       # PG 16
apt
apt install -y postgresql-18-pg-lion   # PG 18
apt install -y postgresql-17-pg-lion   # PG 17
apt install -y postgresql-16-pg-lion   # PG 16

创建扩展:

CREATE EXTENSION pg_lion_citext CASCADE;  -- 依赖: pg_lion, citext

用法

来源:

pg_lion_citext 0.3.0 为 lion 索引注册 citext_ops 运算符类,用于大小写不敏感的文本键。它是随 pg_lion 分发的 SQL 伴随扩展,没有独立动态库。

核心流程

先创建 citext 和 pg_lion,再启用此伴随扩展。默认运算符类使用 citext 的哈希与比较函数,支持相等、不等及范围比较(=、<>、<、<=、>=、>)。

CREATE EXTENSION citext;
CREATE EXTENSION pg_lion;
CREATE EXTENSION pg_lion_citext;
CREATE TABLE lion_contacts (email citext);
INSERT INTO lion_contacts VALUES ('Ada@example.com'), ('ADA@example.com');
CREATE INDEX lion_email ON lion_contacts USING lion (email);
SELECT count(*) FROM lion_contacts WHERE email = 'ada@example.com';

示例计数为两行,因为两种拼写比较相等。应用继续使用普通的 citext 条件。

运行边界

需要 PostgreSQL 16 及以上版本,并由超级用户安装。大小写折叠与排序遵循 citext 语义。应使用同一父扩展版本中的文件。父扩展索引的可见性、VACUUM 及可选自定义 WAL 预加载约束仍然适用。此伴随扩展本身不会启用预加载或修改既有索引。

这个页面对您有帮助吗?

表格阅读