--- warning: DO NOT CHANGE THIS MANUALLY, THIS IS GENERATED BY https://github.com/duckdb/community-extensions repository, check README there title: lakemon excerpt: | DuckDB Community Extensions Smart DuckLake table maintain (adaptive rewrite + merge) and catalog-global expire/cleanup # Copy this file to duckdb/community-extensions as # extensions/lakemon/description.yml # and set repo.ref to a commit SHA of paulosuzart/lakemon-duckdb-ext. # Official docs: https://duckdb.org/community_extensions/documentation # # The repository must be public before the community CI can clone it. extension: name: lakemon description: Smart DuckLake table maintain (adaptive rewrite + merge) and catalog-global expire/cleanup version: 0.2.0 language: C++ build: cmake license: MIT maintainers: - paulosuzart repo: github: paulosuzart/lakemon-duckdb-ext # Built against latest stable DuckDB (v2.0.0); v1.5.6 rebuilds use the same ref. ref: 31e6fe098ecff4f0d29f2044d47f86fd6c4f5829 docs: hello_world: | INSTALL ducklake; LOAD ducklake; INSTALL lakemon FROM community; LOAD lakemon; ATTACH 'ducklake:metadata.ducklake' AS lake (DATA_PATH 'data_files'); CALL lakemon_table_stats('lake'); CALL lakemon_maintain('lake'); CALL lakemon_maintain_global('lake'); CALL lakemon_maintain('lake', dry_run => true); CALL lakemon_policy(); extended_description: | lakemon orchestrates native DuckLake maintenance CALLs with a policy layer: * Catalog SELECT inventory of data files, delete files, and inlined-delete backlog * Flush guard (lakemon_flush_inlined_max_delete_files) so a large ended-file delete backlog cannot block rewrite/merge * Byte-weighted adaptive rewrite ladder (delete fraction DESC; one ducklake_rewrite_data_files CALL per byte-cut rung) * Merge size bands (micro / small / medium) with per-tier target_file_size * Table maintain (lakemon_maintain) vs catalog-global expire/cleanup (lakemon_maintain_global) * CALL / SELECT plan and execute by default (dry_run for plan only) * One result row per step (ok / skip / error / planned) * Optional stderr step logs with duration and byte-weighted progress Requires the core ducklake extension in the same session and an attached DuckLake catalog. Compatible with DuckDB 1.5.6 and DuckDB 2.0.0 (lakemon 0.2.0+). Older DuckDB 1.5.x builds are no longer produced. extension_star_count: 1 extension_star_count_pretty: 1 extension_download_count: 722 extension_download_count_pretty: 722 image: '/images/community_extensions/social_preview/preview_community_extension_lakemon.png' layout: community_extension_doc --- ### Compatibility Matrix This table covers all DuckDB releases that have not reached [end-of-life](https://duckdb.org/release_calendar), including LTS releases, and shows the 2 most recent patch releases of each. Older patch releases are not listed, but the extension may be available for them as well.
| Platform | 1.4.4 | 1.4.5 | 1.5.5 | 1.5.6 | 2.0.0 | | :--- | :---: | :---: | :---: | :---: | :---: | | Linux AMD64 | ❌ | ❌ | ❌ | ✅ | ✅ | | Linux ARM64 | ❌ | ❌ | ❌ | ✅ | ✅ | | macOS AMD64 | ❌ | ❌ | ❌ | ✅ | ✅ | | macOS ARM64 | ❌ | ❌ | ❌ | ✅ | ✅ | | Windows AMD64 | ❌ | ❌ | ❌ | ✅ | ✅ | | Windows ARM64 | ❌ | ❌ | ❌ | ❌ | ❌ | | WebAssembly | ❌ | ❌ | ❌ | ✅ | ✅ | ### Installing and Loading ```sql INSTALL {{ page.extension.name }} FROM community; LOAD {{ page.extension.name }}; ``` {% if page.docs.hello_world %} ### Example ```sql {{ page.docs.hello_world }}``` {% endif %} {% if page.docs.extended_description %} ### About {{ page.extension.name }} {{ page.docs.extended_description }} {% endif %} ### Added Functions
| function_name | function_type | description | comment | examples | |-------------------------|---------------|-------------|---------|----------| | lakemon_maintain | pragma | NULL | NULL | | | lakemon_maintain | table | NULL | NULL | | | lakemon_maintain_global | pragma | NULL | NULL | | | lakemon_maintain_global | table | NULL | NULL | | | lakemon_policy | table | NULL | NULL | | | lakemon_set_policy | table | NULL | NULL | | | lakemon_table_stats | table | NULL | NULL | | | lakemon_version | scalar | NULL | NULL | | ### Overloaded Functions
This extension does not add any function overloads. ### Added Types
This extension does not add any types. ### Added Settings
| name | description | input_type | scope | aliases | typed_value | |----------------------------------------|--------------------------------------------------------------------------------------------------------------------------|------------|--------|---------|-------------| | lakemon_flush_inlined_max_delete_files | Skip ducklake_flush_inlined_data when the planned delete-file count exceeds this (0 = no limit). Negatives are rejected. | BIGINT | GLOBAL | [] | 500 | | lakemon_log_stderr | Write lakemon maintain step start/end lines to stderr | BOOLEAN | GLOBAL | [] | false | | temp_directory | Set the directory to which temporary files are written. | VARCHAR | GLOBAL | [] | post.db.tmp |