跳转到主要内容

v0.1 支持的查询形态

pg_mooncake v0.1 中的分析型查询模式、不支持的 PostgreSQL 函数及 DuckDB 占位函数说明。
pg_mooncake v0.1 历史归档文档(Delta Lake 引擎)

本页归档的是早期 pg_mooncake v0.1 版本文档(采用直接 CREATE TABLE ... USING columnstore DDL 与 Delta Lake 存储)。从 v0.2 及 PGSTY 维护的 v0.3.0 版本起,pg_mooncake 已全面转向基于 moonlink 的实时列存镜像架构(CALL mooncake.create_table + USING mooncake)与 Apache Iceberg v2。最新文档请参阅简介与 v0.1 与 v0.2 / v0.3 架构演进对比。

关于 v0.3.0 与 DuckDB 2.0 的最新查询形态指南,请参阅查询列存表与查询形态。

分析聚合与时序查询(v0.1)

SELECT
    region,
    date_trunc('quarter', sale_date) AS quarter,
    SUM(amount) AS total_sales,
    COUNT(*) AS num_transactions,
    AVG(amount) AS avg_sale
FROM sales_columnstore
WHERE sale_date BETWEEN '2023-01-01' AND '2023-12-31'
GROUP BY region, quarter
ORDER BY region, quarter;

在 Postgres 中暴露 DuckDB 函数(v0.1)

CREATE OR REPLACE FUNCTION time_bucket(interval, timestamp)
RETURNS timestamp AS $$
BEGIN
    RAISE EXCEPTION 'this is a placeholder for columnstore';
END;
$$ LANGUAGE plpgsql;