omni_csv
Omnigres CSV 工具箱
仓库
https://docs.omnigres.org/omni_csv/
https://docs.omnigres.org/omni_csv/
源码
omnigres-20251108.tar.gz
omnigres-20251108.tar.gz
概览
| 扩展包名 | 版本 | 分类 | 许可证 | 语言 |
|---|---|---|---|---|
omni_csv | 0.1.1 | FEAT | Apache-2.0 | C |
| ID | 扩展名 | Bin | Lib | Load | Create | Trust | Reloc | 模式 |
|---|---|---|---|---|---|---|---|---|
| 2946 | omni_csv | 否 | 是 | 否 | 是 | 否 | 否 | omni_csv |
版本
| 类型 | 仓库 | 版本 | PG 大版本 | 包名 | 依赖 |
|---|---|---|---|---|---|
| EXT | PIGSTY | 0.1.1 | 1817161514 | omni_csv | - |
| RPM | PIGSTY | 0.1.1 | 1817161514 | omnigres_$v | - |
| DEB | PIGSTY | 0.1.1 | 1817161514 | postgresql-$v-omnigres | - |
构建
您可以使用 pig build 命令构建 omni_csv 扩展的 RPM / DEB 包:
pig build pkg omni_csv # 构建 RPM / DEB 包
安装
您可以直接安装 omni_csv 扩展包的预置二进制包,首先确保 PGDG 和 PIGSTY 仓库已经添加并启用:
pig repo add pgsql -u # 添加仓库并更新缓存
使用 pig 或者是 apt/yum/dnf 安装扩展:
pig install omni_csv; # 当前活跃 PG 版本安装
pig ext install -y omni_csv -v 18 # PG 18
pig ext install -y omni_csv -v 17 # PG 17
pig ext install -y omni_csv -v 16 # PG 16
pig ext install -y omni_csv -v 15 # PG 15
pig ext install -y omni_csv -v 14 # PG 14
dnf install -y omnigres_18 # PG 18
dnf install -y omnigres_17 # PG 17
dnf install -y omnigres_16 # PG 16
dnf install -y omnigres_15 # PG 15
dnf install -y omnigres_14 # PG 14
apt install -y postgresql-18-omnigres # PG 18
apt install -y postgresql-17-omnigres # PG 17
apt install -y postgresql-16-omnigres # PG 16
apt install -y postgresql-15-omnigres # PG 15
apt install -y postgresql-14-omnigres # PG 14
创建扩展:
CREATE EXTENSION omni_csv;
用法
omni_csv 扩展提供 CSV 解析、检查和生成函数。
检查 CSV 结构
SELECT * FROM omni_csv.csv_info(E'name,age,city\nJohn,25,NYC\nJane,30,LA');
-- 返回: name, age, city(每列一行)
将 CSV 解析为记录
SELECT * FROM omni_csv.parse(E'name,age,city\nJohn,25,NYC\nJane,30,LA')
AS t(name text, age text, city text);
需要使用 AS t(...) 子句指定列结构,并应与 CSV 结构匹配。
从查询结果生成 CSV
SELECT omni_csv.csv_agg(t)
FROM (SELECT name, age, city FROM employees ORDER BY name) t;
返回带标题和正确转义值的 CSV 文本。空结果集返回空字符串。
限制
- 大型 CSV 字符串完全在内存中处理(无流式处理)
- 列类型必须在
AS t(...)子句中声明 - 对于重复访问,建议将解析后的数据物化