pg_kv
概览
| 扩展包名 | 版本 | 分类 | 许可证 | 语言 |
|---|---|---|---|---|
pg_kv | 0.1.0 | FEAT | PostgreSQL | Rust |
| ID | 扩展名 | Bin | Lib | Load | Create | Trust | Reloc | 模式 |
|---|---|---|---|---|---|---|---|---|
| 2895 | pg_kv | 否 | 是 | 是 | 是 | 否 | 否 | kv |
Early release, not production ready. Preload/restart and superuser installation required. Cluster-wide keyspace: nontransactional, not durable or replicated. Grant kv schema usage deliberately; prefixing keys is not tenant access control. Capacity eviction can reset rate-limit allowance.
版本
| 类型 | 仓库 | 版本 | PG 大版本 | 包名 | 依赖 |
|---|---|---|---|---|---|
| EXT | PIGSTY | 0.1.0 | 1817161514 | pg_kv | - |
| RPM | PIGSTY | 0.1.0 | 1817161514 | pg_kv_$v | - |
| DEB | PIGSTY | 0.1.0 | 1817161514 | postgresql-$v-pg-kv | - |
| OS / PG | PG18 | PG17 | PG16 | PG15 | PG14 |
|---|---|---|---|---|---|
| el8.x86_64 | PIGSTY 0.1.0 el8.x86_64.pg18 : pg_kv_18 pg_kv_18-0.1.0-1PGSTY.el8.x86_64.rpm
| PIGSTY 0.1.0 el8.x86_64.pg17 : pg_kv_17 pg_kv_17-0.1.0-1PGSTY.el8.x86_64.rpm
| PIGSTY 0.1.0 el8.x86_64.pg16 : pg_kv_16 pg_kv_16-0.1.0-1PGSTY.el8.x86_64.rpm
| PIGSTY 0.1.0 el8.x86_64.pg15 : pg_kv_15 pg_kv_15-0.1.0-1PGSTY.el8.x86_64.rpm
| N/A |
| el8.aarch64 | PIGSTY 0.1.0 el8.aarch64.pg18 : pg_kv_18 pg_kv_18-0.1.0-1PGSTY.el8.aarch64.rpm
| PIGSTY 0.1.0 el8.aarch64.pg17 : pg_kv_17 pg_kv_17-0.1.0-1PGSTY.el8.aarch64.rpm
| PIGSTY 0.1.0 el8.aarch64.pg16 : pg_kv_16 pg_kv_16-0.1.0-1PGSTY.el8.aarch64.rpm
| PIGSTY 0.1.0 el8.aarch64.pg15 : pg_kv_15 pg_kv_15-0.1.0-1PGSTY.el8.aarch64.rpm
| N/A |
| el9.x86_64 | PIGSTY 0.1.0 el9.x86_64.pg18 : pg_kv_18 pg_kv_18-0.1.0-1PGSTY.el9.x86_64.rpm
| PIGSTY 0.1.0 el9.x86_64.pg17 : pg_kv_17 pg_kv_17-0.1.0-1PGSTY.el9.x86_64.rpm
| PIGSTY 0.1.0 el9.x86_64.pg16 : pg_kv_16 pg_kv_16-0.1.0-1PGSTY.el9.x86_64.rpm
| PIGSTY 0.1.0 el9.x86_64.pg15 : pg_kv_15 pg_kv_15-0.1.0-1PGSTY.el9.x86_64.rpm
| N/A |
| el9.aarch64 | PIGSTY 0.1.0 el9.aarch64.pg18 : pg_kv_18 pg_kv_18-0.1.0-1PGSTY.el9.aarch64.rpm
| PIGSTY 0.1.0 el9.aarch64.pg17 : pg_kv_17 pg_kv_17-0.1.0-1PGSTY.el9.aarch64.rpm
| PIGSTY 0.1.0 el9.aarch64.pg16 : pg_kv_16 pg_kv_16-0.1.0-1PGSTY.el9.aarch64.rpm
| PIGSTY 0.1.0 el9.aarch64.pg15 : pg_kv_15 pg_kv_15-0.1.0-1PGSTY.el9.aarch64.rpm
| N/A |
| el10.x86_64 | PIGSTY 0.1.0 el10.x86_64.pg18 : pg_kv_18 pg_kv_18-0.1.0-1PGSTY.el10.x86_64.rpm
| PIGSTY 0.1.0 el10.x86_64.pg17 : pg_kv_17 pg_kv_17-0.1.0-1PGSTY.el10.x86_64.rpm
| PIGSTY 0.1.0 el10.x86_64.pg16 : pg_kv_16 pg_kv_16-0.1.0-1PGSTY.el10.x86_64.rpm
| PIGSTY 0.1.0 el10.x86_64.pg15 : pg_kv_15 pg_kv_15-0.1.0-1PGSTY.el10.x86_64.rpm
| N/A |
| el10.aarch64 | PIGSTY 0.1.0 el10.aarch64.pg18 : pg_kv_18 pg_kv_18-0.1.0-1PGSTY.el10.aarch64.rpm
| PIGSTY 0.1.0 el10.aarch64.pg17 : pg_kv_17 pg_kv_17-0.1.0-1PGSTY.el10.aarch64.rpm
| PIGSTY 0.1.0 el10.aarch64.pg16 : pg_kv_16 pg_kv_16-0.1.0-1PGSTY.el10.aarch64.rpm
| PIGSTY 0.1.0 el10.aarch64.pg15 : pg_kv_15 pg_kv_15-0.1.0-1PGSTY.el10.aarch64.rpm
| N/A |
| d12.x86_64 | PIGSTY 0.1.0 d12.x86_64.pg18 : postgresql-18-pg-kv postgresql-18-pg-kv_0.1.0-1PGSTY~bookworm_amd64.deb
| PIGSTY 0.1.0 d12.x86_64.pg17 : postgresql-17-pg-kv postgresql-17-pg-kv_0.1.0-1PGSTY~bookworm_amd64.deb
| PIGSTY 0.1.0 d12.x86_64.pg16 : postgresql-16-pg-kv postgresql-16-pg-kv_0.1.0-1PGSTY~bookworm_amd64.deb
| PIGSTY 0.1.0 d12.x86_64.pg15 : postgresql-15-pg-kv postgresql-15-pg-kv_0.1.0-1PGSTY~bookworm_amd64.deb
| N/A |
| d12.aarch64 | PIGSTY 0.1.0 d12.aarch64.pg18 : postgresql-18-pg-kv postgresql-18-pg-kv_0.1.0-1PGSTY~bookworm_arm64.deb
| PIGSTY 0.1.0 d12.aarch64.pg17 : postgresql-17-pg-kv postgresql-17-pg-kv_0.1.0-1PGSTY~bookworm_arm64.deb
| PIGSTY 0.1.0 d12.aarch64.pg16 : postgresql-16-pg-kv postgresql-16-pg-kv_0.1.0-1PGSTY~bookworm_arm64.deb
| PIGSTY 0.1.0 d12.aarch64.pg15 : postgresql-15-pg-kv postgresql-15-pg-kv_0.1.0-1PGSTY~bookworm_arm64.deb
| N/A |
| d13.x86_64 | PIGSTY 0.1.0 d13.x86_64.pg18 : postgresql-18-pg-kv postgresql-18-pg-kv_0.1.0-1PGSTY~trixie_amd64.deb
| PIGSTY 0.1.0 d13.x86_64.pg17 : postgresql-17-pg-kv postgresql-17-pg-kv_0.1.0-1PGSTY~trixie_amd64.deb
| PIGSTY 0.1.0 d13.x86_64.pg16 : postgresql-16-pg-kv postgresql-16-pg-kv_0.1.0-1PGSTY~trixie_amd64.deb
| PIGSTY 0.1.0 d13.x86_64.pg15 : postgresql-15-pg-kv postgresql-15-pg-kv_0.1.0-1PGSTY~trixie_amd64.deb
| N/A |
| d13.aarch64 | PIGSTY 0.1.0 d13.aarch64.pg18 : postgresql-18-pg-kv postgresql-18-pg-kv_0.1.0-1PGSTY~trixie_arm64.deb
| PIGSTY 0.1.0 d13.aarch64.pg17 : postgresql-17-pg-kv postgresql-17-pg-kv_0.1.0-1PGSTY~trixie_arm64.deb
| PIGSTY 0.1.0 d13.aarch64.pg16 : postgresql-16-pg-kv postgresql-16-pg-kv_0.1.0-1PGSTY~trixie_arm64.deb
| PIGSTY 0.1.0 d13.aarch64.pg15 : postgresql-15-pg-kv postgresql-15-pg-kv_0.1.0-1PGSTY~trixie_arm64.deb
| N/A |
| u22.x86_64 | PIGSTY 0.1.0 u22.x86_64.pg18 : postgresql-18-pg-kv postgresql-18-pg-kv_0.1.0-1PGSTY~jammy_amd64.deb
| PIGSTY 0.1.0 u22.x86_64.pg17 : postgresql-17-pg-kv postgresql-17-pg-kv_0.1.0-1PGSTY~jammy_amd64.deb
| PIGSTY 0.1.0 u22.x86_64.pg16 : postgresql-16-pg-kv postgresql-16-pg-kv_0.1.0-1PGSTY~jammy_amd64.deb
| PIGSTY 0.1.0 u22.x86_64.pg15 : postgresql-15-pg-kv postgresql-15-pg-kv_0.1.0-1PGSTY~jammy_amd64.deb
| N/A |
| u22.aarch64 | PIGSTY 0.1.0 u22.aarch64.pg18 : postgresql-18-pg-kv postgresql-18-pg-kv_0.1.0-1PGSTY~jammy_arm64.deb
| PIGSTY 0.1.0 u22.aarch64.pg17 : postgresql-17-pg-kv postgresql-17-pg-kv_0.1.0-1PGSTY~jammy_arm64.deb
| PIGSTY 0.1.0 u22.aarch64.pg16 : postgresql-16-pg-kv postgresql-16-pg-kv_0.1.0-1PGSTY~jammy_arm64.deb
| PIGSTY 0.1.0 u22.aarch64.pg15 : postgresql-15-pg-kv postgresql-15-pg-kv_0.1.0-1PGSTY~jammy_arm64.deb
| N/A |
| u24.x86_64 | PIGSTY 0.1.0 u24.x86_64.pg18 : postgresql-18-pg-kv postgresql-18-pg-kv_0.1.0-1PGSTY~noble_amd64.deb
| PIGSTY 0.1.0 u24.x86_64.pg17 : postgresql-17-pg-kv postgresql-17-pg-kv_0.1.0-1PGSTY~noble_amd64.deb
| PIGSTY 0.1.0 u24.x86_64.pg16 : postgresql-16-pg-kv postgresql-16-pg-kv_0.1.0-1PGSTY~noble_amd64.deb
| PIGSTY 0.1.0 u24.x86_64.pg15 : postgresql-15-pg-kv postgresql-15-pg-kv_0.1.0-1PGSTY~noble_amd64.deb
| N/A |
| u24.aarch64 | PIGSTY 0.1.0 u24.aarch64.pg18 : postgresql-18-pg-kv postgresql-18-pg-kv_0.1.0-1PGSTY~noble_arm64.deb
| PIGSTY 0.1.0 u24.aarch64.pg17 : postgresql-17-pg-kv postgresql-17-pg-kv_0.1.0-1PGSTY~noble_arm64.deb
| PIGSTY 0.1.0 u24.aarch64.pg16 : postgresql-16-pg-kv postgresql-16-pg-kv_0.1.0-1PGSTY~noble_arm64.deb
| PIGSTY 0.1.0 u24.aarch64.pg15 : postgresql-15-pg-kv postgresql-15-pg-kv_0.1.0-1PGSTY~noble_arm64.deb
| N/A |
| u26.x86_64 | PIGSTY 0.1.0 u26.x86_64.pg18 : postgresql-18-pg-kv postgresql-18-pg-kv_0.1.0-1PGSTY~resolute_amd64.deb
| PIGSTY 0.1.0 u26.x86_64.pg17 : postgresql-17-pg-kv postgresql-17-pg-kv_0.1.0-1PGSTY~resolute_amd64.deb
| PIGSTY 0.1.0 u26.x86_64.pg16 : postgresql-16-pg-kv postgresql-16-pg-kv_0.1.0-1PGSTY~resolute_amd64.deb
| PIGSTY 0.1.0 u26.x86_64.pg15 : postgresql-15-pg-kv postgresql-15-pg-kv_0.1.0-1PGSTY~resolute_amd64.deb
| N/A |
| u26.aarch64 | PIGSTY 0.1.0 u26.aarch64.pg18 : postgresql-18-pg-kv postgresql-18-pg-kv_0.1.0-1PGSTY~resolute_arm64.deb
| PIGSTY 0.1.0 u26.aarch64.pg17 : postgresql-17-pg-kv postgresql-17-pg-kv_0.1.0-1PGSTY~resolute_arm64.deb
| PIGSTY 0.1.0 u26.aarch64.pg16 : postgresql-16-pg-kv postgresql-16-pg-kv_0.1.0-1PGSTY~resolute_arm64.deb
| PIGSTY 0.1.0 u26.aarch64.pg15 : postgresql-15-pg-kv postgresql-15-pg-kv_0.1.0-1PGSTY~resolute_arm64.deb
| N/A |
构建
您可以使用 pig build 命令构建 pg_kv 扩展的 RPM / DEB 包:
安装
您可以直接安装 pg_kv 扩展包的预置二进制包,首先确保 PGDG 和 PIGSTY 仓库已经添加并启用:
使用 pig 或者是 apt/yum/dnf 安装扩展:
预加载配置:
创建扩展:
用法
来源:
pg_kv 0.1.0 提供共享内存缓存、计数器、令牌桶限流与有序集合。该早期版本面向 PostgreSQL 15–18,尚不适合生产使用。
核心流程
将库加入现有预加载列表并重启 PostgreSQL,然后以超级用户安装扩展:
没有预加载库时,安装会失败。仅向预期调用者授予 kv 模式的使用权限。集群中的所有数据库共享同一个键空间;前缀便于组织键,但不能提供租户隔离。
操作与容量
kv.ttl 返回毫秒数,-1 表示永不过期,-2 表示键不存在。kv.expire 修改有效期,kv.del 删除键,kv.rate_limit_info 返回是否放行及重试时间。有序集合还提供 kv.zscore、kv.zrank、kv.zrevrank、kv.zincrby、kv.zcard 和 kv.zrem。
需要重启的参数包括 pg_kv.max_entries、pg_kv.max_key_bytes、pg_kv.max_value_bytes、pg_kv.shards、pg_kv.sweep_interval_ms、pg_kv.max_zset_members 和 pg_kv.max_member_bytes。存储容量固定,超大值会报错,容量压力可能触发缓存淘汰。kv.flush 是管理操作,默认不向公共角色开放。
持久性边界
缓存修改不会随事务回滚撤销,但服务器重启或崩溃后会丢失。它不写入 WAL,也不复制;备库拥有独立缓存。适合可丢弃状态,不适合作为权威数据,或跨独立服务器协调的全局限流器。
这个页面对您有帮助吗?
感谢反馈,我们会据此改进这篇文档。
哪里没有解决?(可选)