pg_lake_table
概览
| 扩展包名 | 版本 | 分类 | 许可证 | 语言 |
|---|---|---|---|---|
pg_lake | 3.6 | OLAP | Apache-2.0 | C |
| ID | 扩展名 | Bin | Lib | Load | Create | Trust | Reloc | 模式 |
|---|---|---|---|---|---|---|---|---|
| 2560 | pg_lake | 是 | 是 | 是 | 是 | 否 | 否 | lake |
| 2561 | pg_extension_base | 否 | 是 | 是 | 是 | 否 | 否 | extension_base |
| 2562 | pg_extension_updater | 否 | 是 | 是 | 是 | 否 | 否 | extension_updater |
| 2563 | pg_map | 否 | 是 | 否 | 是 | 否 | 否 | map_type |
| 2564 | pg_lake_engine | 否 | 是 | 是 | 是 | 否 | 否 | __lake__internal__nsp__ |
| 2565 | pg_lake_iceberg | 否 | 是 | 否 | 是 | 否 | 否 | lake_iceberg |
| 2566 | pg_lake_table | 否 | 是 | 是 | 是 | 否 | 否 | __pg_lake_table_writes |
| 2567 | pg_lake_copy | 否 | 是 | 是 | 是 | 否 | 否 | pg_catalog |
| 相关扩展 | btree_gist pg_lake_engine pg_lake_iceberg pg_ducklake pg_mooncake columnar pg_parquet storage_engine orioledb pg_sorted_heap aws_s3 pg_bulkload file_fdw |
|---|---|
| 下游依赖 | pg_lake pg_lake_copy |
Loaded via pg_extension_base.
版本
| OS / PG | PG18 | PG17 | PG16 | PG15 | PG14 |
|---|---|---|---|---|---|
| el8.x86_64 | N/A | N/A | N/A | N/A | N/A |
| el8.aarch64 | N/A | N/A | N/A | N/A | N/A |
| el9.x86_64 | PIGSTY 3.6.0 | PIGSTY 3.6.0 | PIGSTY 3.6.0 | N/A | N/A |
| el9.aarch64 | PIGSTY 3.6.0 | PIGSTY 3.6.0 | PIGSTY 3.6.0 | N/A | N/A |
| el10.x86_64 | PIGSTY 3.6.0 | PIGSTY 3.6.0 | PIGSTY 3.6.0 | N/A | N/A |
| el10.aarch64 | PIGSTY 3.6.0 | PIGSTY 3.6.0 | PIGSTY 3.6.0 | N/A | N/A |
| d12.x86_64 | PIGSTY 3.6.0 | PIGSTY 3.6.0 | PIGSTY 3.6.0 | N/A | N/A |
| d12.aarch64 | PIGSTY 3.6.0 | PIGSTY 3.6.0 | PIGSTY 3.6.0 | N/A | N/A |
| d13.x86_64 | PIGSTY 3.6.0 | PIGSTY 3.6.0 | PIGSTY 3.6.0 | N/A | N/A |
| d13.aarch64 | PIGSTY 3.6.0 | PIGSTY 3.6.0 | PIGSTY 3.6.0 | N/A | N/A |
| u22.x86_64 | PIGSTY 3.6.0 | PIGSTY 3.6.0 | PIGSTY 3.6.0 | N/A | N/A |
| u22.aarch64 | PIGSTY 3.6.0 | PIGSTY 3.6.0 | PIGSTY 3.6.0 | N/A | N/A |
| u24.x86_64 | PIGSTY 3.6.0 | PIGSTY 3.6.0 | PIGSTY 3.6.0 | N/A | N/A |
| u24.aarch64 | PIGSTY 3.6.0 | PIGSTY 3.6.0 | PIGSTY 3.6.0 | N/A | N/A |
| u26.x86_64 | PIGSTY 3.6.0 | PIGSTY 3.6.0 | PIGSTY 3.6.0 | N/A | N/A |
| u26.aarch64 | PIGSTY 3.6.0 | PIGSTY 3.6.0 | PIGSTY 3.6.0 | N/A | N/A |
构建
您可以使用 pig build 命令构建 pg_lake 扩展的 RPM / DEB 包:
安装
您可以直接安装 pg_lake 扩展包的预置二进制包,首先确保 PGDG 和 PIGSTY 仓库已经添加并启用:
使用 pig 或者是 apt/yum/dnf 安装扩展:
预加载配置:
创建扩展:
用法
来源:
pg_lake_table 将对象存储文件作为 PostgreSQL 外部表暴露,并提供 USING iceberg 表语法。它拥有 pg_lake 和 pg_lake_iceberg 外部服务器、文件检查/缓存实用工具、表目录和事务挂钩;Iceberg 元数据编码委托给 pg_lake_iceberg。
本次核验的上游发布为 3.6.0,SQL 扩展版本为 3.6,支持 PostgreSQL 16–19。现有软件包版本单独跟踪,动态库与查询服务器应使用同一发布版本。
查询外部文件
安装完整的堆栈,包括所需的 pg_lake_engine、pg_lake_iceberg 和 btree_gist 依赖项:
空列列表要求 pg_lake 推断文件模式:
通过扩展提供的表访问方法创建可写的 Iceberg 表:
文件和表实用工具索引
lake_file.list(pattern): 列出匹配的对象路径、大小、修改时间和 ETags。lake_file.size(path)和lake_file.exists(path): 检查一个远程对象。lake_file.preview(url, format, compression): 返回推断的列名和类型。lake_file.delete(url): 删除一个远程对象;仅限允许删除数据的角色执行。lake_file_cache.add(path, refresh),remove(path)和list(): 管理lake_read成员的本地文件缓存。lake_iceberg.table_size(regclass): 计算 Iceberg 表当前数据文件的总大小。- 外部服务器
pg_lake和pg_lake_iceberg: 读取文件和可写的 Iceberg 入口点。 - 访问方法
iceberg和pg_lake_iceberg: 用于将CREATE TABLE ... USING转换为扩展的外部表表示形式的别名。
运维注意事项
- 必须预加载
pg_extension_base,并在每个执行湖查询的 PostgreSQL 主机上运行pgduck_server,为其配置所需位置的访问凭据。 lake_read、lake_write和lake_read_write控制对外部服务器、模式和实用工具的访问。为每个应用程序授予最窄的角色权限。- 外部表是文件的引用,而不是导入的副本。文件替换、跨区域访问和缓存失效可以独立于 PostgreSQL 目录状态改变延迟或结果。
- Iceberg 插入适合批量处理。对于高频率逐行插入,使用暂存堆表,并定期刷新批次。
- 内部
lake_table.*目录跟踪文件、字段 ID、分区和恢复状态。不要直接修改它们。
版本 3.5 为文件删除映射、列统计与分区值目录新增索引,避免批量删除时反复扫描子目录。除安装新动态库外,还须执行 SQL 迁移。
上游 3.6.0
上游 3.6.0 增加 PostgreSQL 19 支持,并使用 DuckDB 1.5.6。应部署匹配动态库与 pgduck_server,保持预加载 pg_extension_base,重启加载旧库的进程,并执行所提供的 SQL 升级到 3.6。表组件注册独立的对象存储目录导出 worker,并将目录名称辅助函数改为 STABLE。必须执行 SQL 迁移,仅替换二进制不会注册该 worker。
这个页面对您有帮助吗?
感谢反馈,我们会据此改进这篇文档。
哪里没有解决?(可选)