pg_xenophile

PostgreSQL i8n与l10n工具包

概览

扩展包名版本分类许可证语言
pg_xenophile0.8.3TYPEPostgreSQLSQL
ID扩展名BinLibLoadCreateTrustReloc模式
3610pg_xenophilexeno
3611l10n_table_dependent_extension-
相关扩展hstore country currency icu_ext prefix semver unit pgpdf pglite_fusion
下游依赖l10n_table_dependent_extension

版本

类型仓库版本PG 大版本包名依赖
EXTPIGSTY0.8.31817161514pg_xenophilehstore
RPMPIGSTY0.8.31817161514pg_xenophile_$v-
DEBPIGSTY0.8.31817161514postgresql-$v-pg-xenophile-
OS / PGPG18PG17PG16PG15PG14
el8.x86_64
el8.aarch64
el9.x86_64
el9.aarch64
el10.x86_64
el10.aarch64
d12.x86_64
d12.aarch64
PIGSTY 0.8.3
PIGSTY 0.8.3
PIGSTY 0.8.3
PIGSTY 0.8.3
PIGSTY 0.8.3
d13.x86_64
PIGSTY 0.8.3
PIGSTY 0.8.3
PIGSTY 0.8.3
PIGSTY 0.8.3
PIGSTY 0.8.3
d13.aarch64
PIGSTY 0.8.3
PIGSTY 0.8.3
PIGSTY 0.8.3
PIGSTY 0.8.3
PIGSTY 0.8.3
u22.x86_64
PIGSTY 0.8.3
PIGSTY 0.8.3
PIGSTY 0.8.3
PIGSTY 0.8.3
PIGSTY 0.8.3
u22.aarch64
PIGSTY 0.8.3
PIGSTY 0.8.3
PIGSTY 0.8.3
PIGSTY 0.8.3
PIGSTY 0.8.3
u24.x86_64
PIGSTY 0.8.3
PIGSTY 0.8.3
PIGSTY 0.8.3
PIGSTY 0.8.3
PIGSTY 0.8.3
u24.aarch64
PIGSTY 0.8.3
PIGSTY 0.8.3
PIGSTY 0.8.3
PIGSTY 0.8.3
PIGSTY 0.8.3

构建

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

pig build pkg pg_xenophile         # 构建 RPM / DEB 包

安装

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

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

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

pig install pg_xenophile;          # 当前活跃 PG 版本安装
pig ext install -y pg_xenophile -v 18  # PG 18
pig ext install -y pg_xenophile -v 17  # PG 17
pig ext install -y pg_xenophile -v 16  # PG 16
pig ext install -y pg_xenophile -v 15  # PG 15
pig ext install -y pg_xenophile -v 14  # PG 14
dnf install -y pg_xenophile_18       # PG 18
dnf install -y pg_xenophile_17       # PG 17
dnf install -y pg_xenophile_16       # PG 16
dnf install -y pg_xenophile_15       # PG 15
dnf install -y pg_xenophile_14       # PG 14
apt install -y postgresql-18-pg-xenophile   # PG 18
apt install -y postgresql-17-pg-xenophile   # PG 17
apt install -y postgresql-16-pg-xenophile   # PG 16
apt install -y postgresql-15-pg-xenophile   # PG 15
apt install -y postgresql-14-pg-xenophile   # PG 14

创建扩展

CREATE EXTENSION pg_xenophile CASCADE;  -- 依赖: hstore

用法

pg_xenophile: 国际化 (i18n) 与本地化 (l10n) 工具集

pg_xenophile 扩展提供 i18n/l10n 基础设施,包括国家、语言和货币的参考数据,以及自动化的本地化表管理。

CREATE EXTENSION pg_xenophile CASCADE;

所有对象位于 xeno 模式中(不可重定位)。

参考表

  • xeno.country:ISO 3166-1 代码,包含国际电话区号和货币信息
  • xeno.lang:ISO 639-1 语言代码
  • xeno.currency:ISO 4217 货币代码及符号
  • xeno.country_subdivision:ISO 3166-2 行政区划代码
  • xeno.eu_country:欧盟成员国追踪
  • xeno.country_postal_code_pattern:邮政编码验证规则

本地化表

该扩展自动管理翻译表。向 xeno.l10n_table 插入记录即可注册一个可翻译的基表:

INSERT INTO xeno.l10n_table (base_table_schema, base_table_name)
VALUES ('public', 'products');

这会自动创建配套的 products_l10n 表和特定语言的视图。

便捷视图

  • xeno.country_l10n_en:英文国家名称
  • xeno.lang_l10n_en:英文语言名称
  • xeno.country_subdivision_l10n_en:英文行政区划名称

配置

SET pg_xenophile.base_lang_code = 'en';
SET pg_xenophile.user_lang_code = 'en';
SET pg_xenophile.target_lang_codes = '{nl,fr,de}';

最后修改 2026-03-14: update extension metadata (953cbd0)