一.pg_quack简介
pg_quack 是一个创新的 PostgreSQL扩展,它将 DuckDB-—一个嵌入式列式数据库 管理系统集成到PostgreSQL中。这个开源项目为开发者提供了一种在同一个数据 库环境中利用高性能数据处理和存储的新方式,使得在PostgreSQL在OLAP的性能 上得到了很大的提高。
pg_quack利用了DuckDB的优秀特性,包括其对列式存储的支持,这使得针对大量 结构化数据的分析性能得到了显著提升。同时,该项目无缝地整合到PostgreSQL生 态系统中,允许用户通过简单的SQL命令创建和操作数据表。
限制
- 仅PG14和PG15支持
- 仅支持COPY、INSERT和SELECT。
- 只有单个连接可以对quack表执行INSERT和SELECT(不能使用子查询插入数据)
- 仅对基本数据类型的有限支持
- 不能在`quack`表和其他存储方法(`heap`表)之间进行查询。
二.应用场景
实时分析在追求速度和响应能力的实时分析领域,pg_quack以其高性能和低延迟的特性成为不 可或缺的插件。无论是监控系统、实时报表还是预警系统,它都能快速响应大量的数据 查询请求,提供准确而及时的分析结果。这使得企业能够实时掌握业务动态,做出快速 而明智的决策
数据仓库pg_quack同样适用于构建和管理数据仓库系统。作为轻量级的数据仓库解决方案, 它能够轻松应对数据整合、清洗和转换等复杂任务。
三.安装部署
curl -sfL https://install.pgx.sh | sh -
pgxman install pg_quack
值得注意的是:这里安装需要梯子,国内无法直接安装,并且无法在centos操作系统上安装,部署的时候需要使用apt命令。
四.安装插件
create extension quack
这一步非常重要,否则无法用quack访问方式访问表;安装后会自动创建quack模式和 quack_am_handler函数。
默认情况下,quack表的数据是存放在PG数据库的数据目录下的quack目录中,如果没 有提前目录,系统会自动根据quack.data_dir参数指定的目录来创建。