pg_liquid

pg_liquid is a PostgreSQL extension that maps the Liquid blog language and data model onto native PostgreSQL storage and execution.

Documentation site:

  • GitHub Pages: https://michael-golfi.github.io/pg_liquid/

It ships:

  • liquid.query(program text)
  • liquid.query_as(principal text, program text)
  • liquid.read_as(principal text, program text)
  • row normalizer management functions for projecting relational rows into Liquid compounds

Supported Liquid program features include:

  • % comments
  • .-terminated assertions and rule definitions
  • one terminal ? query
  • Edge(...)
  • named compounds via Type@(cid=..., role=...)
  • query-local recursive rules
  • CLS-aware reads through liquid.read_as(...) and liquid.query_as(...)

Version

This PGXN package is version 0.1.1.

Supported PostgreSQL Versions

pg_liquid is validated against PostgreSQL 14, 15, 16, 17, and 18.

Build And Install

Build and install against the target PostgreSQL instance:

make
make install

Then create the extension in the target database:

create extension pg_liquid;

Upgrade

The shipped upgrade path covers the legacy internal versions 1.0.0, 1.1.0, and 1.2.0 to the public releases 0.1.0 and 0.1.1:

alter extension pg_liquid update to '0.1.1';

Alias scripts are also included for the legacy non-semver version names 1.0, 1.1, and 1.2.

Validation

Useful local checks:

npm run docs:build
make package-check
make installcheck
make bench-check
make pgxn-package

package-check validates META.json, the control file, and the referenced SQL install script. pgxn-package builds a release tarball under release/.

Repository Layout

The primary documentation experience now lives in the VitePress site under docs. The operational rollout details also remain available in docs/08_OPERATIONS.md.