用途:为面向以色列市场的应用搭建或审查 PostgreSQL 数据库,提供希伯来文处理、谢克尔金额、以色列时区与常见数据类型的最佳实践和脚本。要求 PostgreSQL 13+(使用核心的 gen_random_uuid()、非确定性 ICU 排序规则和生成列),当前稳定版为 PostgreSQL 18。
主要能力: 希伯来文索引:创建 ICU 排序规则(provider=icu,locale='he-IL',deterministic=false)用于显示排序与语言等值;用 pg_trgm 做容错搜索(短列用 %,正文列用 <% 或 <<%);全文本搜索用 simple 配置并结合 pg_trgm。 规范化:提供 strip_nikud() 与 normalize_hebrew(),去除注音符号、将 maqaf 等转为空格、移除 geresh/gershayim;unaccent 不处理希伯来文注音。查询侧与存储侧必须同样规范化。 金额:货币用 numeric,不用 float;增值税率存 vat_rates 表并按发票日期查找(2025-01-01 起为 18%);以色列央行汇率按生效日期存储,用 as-of 查询避免安息日无汇率。 时区:ALTER DATABASE your_db SET timezone = 'Asia/Jerusalem'; 一律使用 timestamptz,注意夏令时切换。 数据类型:scripts/israeli-data-types.sql 提供 teudat zehut、电话、邮编、企业号、IBAN 的 CHECK 约束与 validate_teudat_zehut() 校验函数。
使用方式:按资料中的工作流执行—先确认编码(SHOW server_encoding; 必须为 UTF8)与时区,再选排序规则策略、搜索方式,最后应用约束。命令与 SQL 示例保持原样,不在此抄录。
限制:非确定性排序规则在 PG 18 才支持 LIKE,ILIKE 与正则仍报错;simple 全文本搜索对希伯来文屈折词召回差,需搭配 trigram;FTS 单独使用会漏匹配;索引表达式必须与查询表达式一致;各 trigram 操作符阈值由不同 GUC 控制。
分类:该工具主要用于数据库开发与运维实践,归入编程与开发。缺失信息:官方名称以外的收费、平台等未提供。