lolor
概览
| 扩展包名 | 版本 | 分类 | 许可证 | 语言 |
|---|---|---|---|---|
lolor | 1.2.2 | ETL | PostgreSQL | C |
| ID | 扩展名 | Bin | Lib | Load | Create | Trust | Reloc | 模式 |
|---|---|---|---|---|---|---|---|---|
| 9580 | lolor | 否 | 是 | 否 | 是 | 是 | 否 | lolor |
works on pgedge kernel fork. Requires lolor.node
版本
| 类型 | 仓库 | 版本 | PG 大版本 | 包名 | 依赖 |
|---|---|---|---|---|---|
| EXT | PIGSTY | 1.2.2 | 1817161514 | lolor | - |
| RPM | PIGSTY | 18.6 | 1817161514 | pgedge-$v | - |
| DEB | PIGSTY | 18.6 | 1817161514 | pgedge-$v | - |
| OS / PG | PG18 | PG17 | PG16 | PG15 | PG14 |
|---|---|---|---|---|---|
| el8.x86_64 | PIGSTY 18.6 el8.x86_64.pg18 : pgedge-18 pgedge-18-18.6-2PGSTY.el8.x86_64.rpm
| PIGSTY 17.11 el8.x86_64.pg17 : pgedge-17 pgedge-17-17.11-2PGSTY.el8.x86_64.rpm
| PIGSTY 16.15 el8.x86_64.pg16 : pgedge-16 pgedge-16-16.15-2PGSTY.el8.x86_64.rpm
| PIGSTY 15.19 el8.x86_64.pg15 : pgedge-15 pgedge-15-15.19-2PGSTY.el8.x86_64.rpm
| N/A |
| el8.aarch64 | PIGSTY 18.6 el8.aarch64.pg18 : pgedge-18 pgedge-18-18.6-2PGSTY.el8.aarch64.rpm
| PIGSTY 17.11 el8.aarch64.pg17 : pgedge-17 pgedge-17-17.11-2PGSTY.el8.aarch64.rpm
| PIGSTY 16.15 el8.aarch64.pg16 : pgedge-16 pgedge-16-16.15-2PGSTY.el8.aarch64.rpm
| PIGSTY 15.19 el8.aarch64.pg15 : pgedge-15 pgedge-15-15.19-2PGSTY.el8.aarch64.rpm
| N/A |
| el9.x86_64 | PIGSTY 18.6 el9.x86_64.pg18 : pgedge-18 pgedge-18-18.6-2PGSTY.el9.x86_64.rpm
| PIGSTY 17.11 el9.x86_64.pg17 : pgedge-17 pgedge-17-17.11-2PGSTY.el9.x86_64.rpm
| PIGSTY 16.15 el9.x86_64.pg16 : pgedge-16 pgedge-16-16.15-2PGSTY.el9.x86_64.rpm
| PIGSTY 15.19 el9.x86_64.pg15 : pgedge-15 pgedge-15-15.19-2PGSTY.el9.x86_64.rpm
| N/A |
| el9.aarch64 | PIGSTY 18.6 el9.aarch64.pg18 : pgedge-18 pgedge-18-18.6-2PGSTY.el9.aarch64.rpm
| PIGSTY 17.11 el9.aarch64.pg17 : pgedge-17 pgedge-17-17.11-2PGSTY.el9.aarch64.rpm
| PIGSTY 16.15 el9.aarch64.pg16 : pgedge-16 pgedge-16-16.15-2PGSTY.el9.aarch64.rpm
| PIGSTY 15.19 el9.aarch64.pg15 : pgedge-15 pgedge-15-15.19-2PGSTY.el9.aarch64.rpm
| N/A |
| el10.x86_64 | PIGSTY 18.6 el10.x86_64.pg18 : pgedge-18 pgedge-18-18.6-2PGSTY.el10.x86_64.rpm
| PIGSTY 17.11 el10.x86_64.pg17 : pgedge-17 pgedge-17-17.11-2PGSTY.el10.x86_64.rpm
| PIGSTY 16.15 el10.x86_64.pg16 : pgedge-16 pgedge-16-16.15-2PGSTY.el10.x86_64.rpm
| PIGSTY 15.19 el10.x86_64.pg15 : pgedge-15 pgedge-15-15.19-2PGSTY.el10.x86_64.rpm
| N/A |
| el10.aarch64 | PIGSTY 18.6 el10.aarch64.pg18 : pgedge-18 pgedge-18-18.6-2PGSTY.el10.aarch64.rpm
| PIGSTY 17.11 el10.aarch64.pg17 : pgedge-17 pgedge-17-17.11-2PGSTY.el10.aarch64.rpm
| PIGSTY 16.15 el10.aarch64.pg16 : pgedge-16 pgedge-16-16.15-2PGSTY.el10.aarch64.rpm
| PIGSTY 15.19 el10.aarch64.pg15 : pgedge-15 pgedge-15-15.19-2PGSTY.el10.aarch64.rpm
| N/A |
| d12.x86_64 | PIGSTY 18.6 d12.x86_64.pg18 : pgedge-18 pgedge-18_18.6-2PGSTY~bookworm_amd64.deb
| PIGSTY 17.11 d12.x86_64.pg17 : pgedge-17 pgedge-17_17.11-2PGSTY~bookworm_amd64.deb
| PIGSTY 16.15 d12.x86_64.pg16 : pgedge-16 pgedge-16_16.15-2PGSTY~bookworm_amd64.deb
| PIGSTY 15.19 d12.x86_64.pg15 : pgedge-15 pgedge-15_15.19-2PGSTY~bookworm_amd64.deb
| N/A |
| d12.aarch64 | PIGSTY 18.6 d12.aarch64.pg18 : pgedge-18 pgedge-18_18.6-2PGSTY~bookworm_arm64.deb
| PIGSTY 17.11 d12.aarch64.pg17 : pgedge-17 pgedge-17_17.11-2PGSTY~bookworm_arm64.deb
| PIGSTY 16.15 d12.aarch64.pg16 : pgedge-16 pgedge-16_16.15-2PGSTY~bookworm_arm64.deb
| PIGSTY 15.19 d12.aarch64.pg15 : pgedge-15 pgedge-15_15.19-2PGSTY~bookworm_arm64.deb
| N/A |
| d13.x86_64 | PIGSTY 18.6 d13.x86_64.pg18 : pgedge-18 pgedge-18_18.6-2PGSTY~trixie_amd64.deb
| PIGSTY 17.11 d13.x86_64.pg17 : pgedge-17 pgedge-17_17.11-2PGSTY~trixie_amd64.deb
| PIGSTY 16.15 d13.x86_64.pg16 : pgedge-16 pgedge-16_16.15-2PGSTY~trixie_amd64.deb
| PIGSTY 15.19 d13.x86_64.pg15 : pgedge-15 pgedge-15_15.19-2PGSTY~trixie_amd64.deb
| N/A |
| d13.aarch64 | PIGSTY 18.6 d13.aarch64.pg18 : pgedge-18 pgedge-18_18.6-2PGSTY~trixie_arm64.deb
| PIGSTY 17.11 d13.aarch64.pg17 : pgedge-17 pgedge-17_17.11-2PGSTY~trixie_arm64.deb
| PIGSTY 16.15 d13.aarch64.pg16 : pgedge-16 pgedge-16_16.15-2PGSTY~trixie_arm64.deb
| PIGSTY 15.19 d13.aarch64.pg15 : pgedge-15 pgedge-15_15.19-2PGSTY~trixie_arm64.deb
| N/A |
| u22.x86_64 | PIGSTY 18.6 u22.x86_64.pg18 : pgedge-18 pgedge-18_18.6-2PGSTY~jammy_amd64.deb
| PIGSTY 17.11 u22.x86_64.pg17 : pgedge-17 pgedge-17_17.11-2PGSTY~jammy_amd64.deb
| PIGSTY 16.15 u22.x86_64.pg16 : pgedge-16 pgedge-16_16.15-2PGSTY~jammy_amd64.deb
| PIGSTY 15.19 u22.x86_64.pg15 : pgedge-15 pgedge-15_15.19-2PGSTY~jammy_amd64.deb
| N/A |
| u22.aarch64 | PIGSTY 18.6 u22.aarch64.pg18 : pgedge-18 pgedge-18_18.6-2PGSTY~jammy_arm64.deb
| PIGSTY 17.11 u22.aarch64.pg17 : pgedge-17 pgedge-17_17.11-2PGSTY~jammy_arm64.deb
| PIGSTY 16.15 u22.aarch64.pg16 : pgedge-16 pgedge-16_16.15-2PGSTY~jammy_arm64.deb
| PIGSTY 15.19 u22.aarch64.pg15 : pgedge-15 pgedge-15_15.19-2PGSTY~jammy_arm64.deb
| N/A |
| u24.x86_64 | PIGSTY 18.6 u24.x86_64.pg18 : pgedge-18 pgedge-18_18.6-2PGSTY~noble_amd64.deb
| PIGSTY 17.11 u24.x86_64.pg17 : pgedge-17 pgedge-17_17.11-2PGSTY~noble_amd64.deb
| PIGSTY 16.15 u24.x86_64.pg16 : pgedge-16 pgedge-16_16.15-2PGSTY~noble_amd64.deb
| PIGSTY 15.19 u24.x86_64.pg15 : pgedge-15 pgedge-15_15.19-2PGSTY~noble_amd64.deb
| N/A |
| u24.aarch64 | PIGSTY 18.6 u24.aarch64.pg18 : pgedge-18 pgedge-18_18.6-2PGSTY~noble_arm64.deb
| PIGSTY 17.11 u24.aarch64.pg17 : pgedge-17 pgedge-17_17.11-2PGSTY~noble_arm64.deb
| PIGSTY 16.15 u24.aarch64.pg16 : pgedge-16 pgedge-16_16.15-2PGSTY~noble_arm64.deb
| PIGSTY 15.19 u24.aarch64.pg15 : pgedge-15 pgedge-15_15.19-2PGSTY~noble_arm64.deb
| N/A |
| u26.x86_64 | PIGSTY 18.6 u26.x86_64.pg18 : pgedge-18 pgedge-18_18.6-2PGSTY~resolute_amd64.deb
| PIGSTY 17.11 u26.x86_64.pg17 : pgedge-17 pgedge-17_17.11-2PGSTY~resolute_amd64.deb
| PIGSTY 16.15 u26.x86_64.pg16 : pgedge-16 pgedge-16_16.15-2PGSTY~resolute_amd64.deb
| PIGSTY 15.19 u26.x86_64.pg15 : pgedge-15 pgedge-15_15.19-2PGSTY~resolute_amd64.deb
| N/A |
| u26.aarch64 | PIGSTY 18.6 u26.aarch64.pg18 : pgedge-18 pgedge-18_18.6-2PGSTY~resolute_arm64.deb
| PIGSTY 17.11 u26.aarch64.pg17 : pgedge-17 pgedge-17_17.11-2PGSTY~resolute_arm64.deb
| PIGSTY 16.15 u26.aarch64.pg16 : pgedge-16 pgedge-16_16.15-2PGSTY~resolute_arm64.deb
| PIGSTY 15.19 u26.aarch64.pg15 : pgedge-15 pgedge-15_15.19-2PGSTY~resolute_arm64.deb
| N/A |
构建
您可以使用 pig build 命令构建 lolor 扩展的 RPM / DEB 包:
安装
您可以直接安装 lolor 扩展包的预置二进制包,首先确保 PGDG 和 PIGSTY 仓库已经添加并启用:
使用 pig 或者是 apt/yum/dnf 安装扩展:
创建扩展:
用法
来源:
- v1.2.2 README
- Control file
- Version 1.2.2 migration
- Usage reference
- Release notes
lolor1.2.2 将大对象的数据块和元数据放到普通表中,使逻辑复制能够包含它们。启用后会替换数据库的原生大对象函数;这是影响整个数据库的行为变化,而不是独立对象存储。
配置并启用
在创建大对象前,为每个写入节点分配不同的非零 lolor.node;上游文档规定范围为 1 到 2^28。配置服务参数,并在每个参与的数据库中创建扩展:
控制文件固定使用 lolor 模式,声明为可信安装,且不允许重定位。上游 README 要求 PostgreSQL 16 或更新版本;当前 Pigsty pgEdge 组合包另外通过了 15–18 的构建测试,但这一打包结果不能证明任意原版 PostgreSQL 15 安装都受支持。
大对象工作流
lo_create()、lo_get()、lo_put() 和 lo_unlink() 等标准调用使用替换后的函数。通过 lo_open()、loread()、lowrite() 和 lo_close() 进行描述符访问时,必须保持在同一个事务内。文件导入和导出操作的是服务端路径,仍受相应函数与文件系统权限限制。
扩展使用 lolor.pg_largeobject 和 lolor.pg_largeobject_metadata 两张表;原来的系统目录函数会改名保留,使禁用或移除扩展时能够恢复原生函数名称。
复制
已有 Spock 复制集时,将两张表都纳入:
在所有节点安装兼容版本,并协调节点标识符与对象所有权。仅创建扩展不会建立逻辑复制拓扑。
升级与边界
1.2.2 修复扩展升级和数据库大版本升级行为,并新增 lolor.disable()、lolor.enable() 和 lolor.is_enabled()。应当 先更新 lolor,再运行 pg_upgrade;该修复不会追溯修复已经用旧扩展文件尝试的大版本升级:
禁用操作改变当前生效的原生函数名称,不会迁移已存储的大对象。上游不提供原生大对象迁移功能;启用 lolor 时,原生大对象功能和 lolor 存储不能混用。上游不支持 ALTER LARGE OBJECT、GRANT ON LARGE OBJECT、COMMENT ON LARGE OBJECT 和 REVOKE ON LARGE OBJECT。应为两张普通表安排备份、恢复与复制。
这个页面对您有帮助吗?
感谢反馈,我们会据此改进这篇文档。
哪里没有解决?(可选)