From 3558a9f401914e35f084a3cca0dc525ab881d492 Mon Sep 17 00:00:00 2001 From: "Joshua D. Drake" Date: Wed, 2 Sep 2026 18:09:54 -0600 Subject: [PATCH] chore: add META.json so the distribution can be published on PGXN PGXN requires a META.json at the distribution root. This is the v1.0.0 meta-spec form, with the seven required fields: name, abstract, version, maintainer, license, provides and meta-spec. THE VERSION IS NOT THE EXTENSION'S VERSION AND CANNOT BE. The spec requires a semantic version -- "three positive integers separated by full stop characters", with a special version denoted by "appending an arbitrary ASCII string immediately following the patch version". Its own examples are 2.0.0alpha3 and 2.0.0beta1. So: pgcolumnar.control default_version = '1.0-alpha3' two parts, not semver META.json version = "1.0.0alpha3" three parts, valid A reader will therefore see 1.0.0alpha3 on PGXN and 1.0-alpha3 from CREATE EXTENSION. The alternative is renaming the extension's own version scheme, which would touch VERSION, the control file and every upgrade-script filename, and is not something to do inside a release. Recorded here so the next person does not "fix" one to match the other. release_status is "unstable", which the spec defines as "an 'alpha' release that is under active development, but has been released for early feedback". That is this release, exactly; "testing" is the beta tier. Field formats were read from the spec rather than recalled: the required-field list, the version grammar and its pre-release examples, the permitted license strings, and the release_status values. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_017V7PhZ1TzoVVNsACFXTbdT --- META.json | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 META.json diff --git a/META.json b/META.json new file mode 100644 index 0000000..f67ad1a --- /dev/null +++ b/META.json @@ -0,0 +1,52 @@ +{ + "name": "pgcolumnar", + "abstract": "Analytic column storage for PostgreSQL, built as a native table access method", + "description": "pgColumnar is a columnar storage table access method for PostgreSQL, written as a clean-room, MIT-licensed implementation. It reads and writes its own native format, PGCN v1, and supports chunk-group skipping from zone maps and bloom filters, vectorized aggregation, projections, retention, online compaction and reclustering, parallel bulk ingest and export, Apache Arrow and Parquet import and export, Apache Iceberg, and object storage.", + "version": "1.0.0alpha3", + "maintainer": [ + "Joshua D. Drake " + ], + "license": "mit", + "release_status": "unstable", + "provides": { + "pgcolumnar": { + "file": "pgcolumnar--1.0-alpha3.sql", + "docfile": "docs/index.md", + "version": "1.0.0alpha3", + "abstract": "Analytic column storage for PostgreSQL, built as a native table access method" + } + }, + "prereqs": { + "runtime": { + "requires": { + "PostgreSQL": "15.0.0" + } + } + }, + "resources": { + "homepage": "https://commandprompt.github.io/pgcolumnar/", + "bugtracker": { + "web": "https://github.com/commandprompt/pgcolumnar/issues" + }, + "repository": { + "url": "https://github.com/commandprompt/pgcolumnar.git", + "web": "https://github.com/commandprompt/pgcolumnar", + "type": "git" + } + }, + "generated_by": "Command Prompt, Inc.", + "tags": [ + "columnar", + "analytics", + "table access method", + "olap", + "compression", + "parquet", + "arrow", + "iceberg" + ], + "meta-spec": { + "version": "1.0.0", + "url": "https://pgxn.org/meta/spec.txt" + } +}