pg_liquid

pg_liquid

pg_liquid : Liquid-inspired Datalog graph query extension for PostgreSQL

Overview

IDExtensionPackageVersionCategoryLicenseLanguage
2705
pg_liquid
pg_liquid
0.1.7
FEAT
MIT
C
AttributeHas BinaryHas LibraryNeed LoadHas DDLRelocatableTrusted
--s-d--
No
Yes
No
Yes
no
no
Relationships
Schemasliquid
See Also
age
jsquery
pg_jsonschema
pg_search

Packages

TypeRepoVersionPG Major CompatibilityPackage PatternDependencies
EXT
PIGSTY
0.1.7
18
17
16
15
14
pg_liquid-
RPM
PIGSTY
0.1.7
18
17
16
15
14
pg_liquid_$v-
DEB
PIGSTY
0.1.7
18
17
16
15
14
postgresql-$v-pg-liquid-
Linux / PGPG18PG17PG16PG15PG14
el8.x86_64
PIGSTY 0.1.7
PIGSTY 0.1.7
PIGSTY 0.1.7
PIGSTY 0.1.7
PIGSTY 0.1.7
el8.aarch64
PIGSTY 0.1.7
PIGSTY 0.1.7
PIGSTY 0.1.7
PIGSTY 0.1.7
PIGSTY 0.1.7
el9.x86_64
PIGSTY 0.1.7
PIGSTY 0.1.7
PIGSTY 0.1.7
PIGSTY 0.1.7
PIGSTY 0.1.7
el9.aarch64
PIGSTY 0.1.7
PIGSTY 0.1.7
PIGSTY 0.1.7
PIGSTY 0.1.7
PIGSTY 0.1.7
el10.x86_64
PIGSTY 0.1.7
PIGSTY 0.1.7
PIGSTY 0.1.7
PIGSTY 0.1.7
PIGSTY 0.1.7
el10.aarch64
PIGSTY 0.1.7
PIGSTY 0.1.7
PIGSTY 0.1.7
PIGSTY 0.1.7
PIGSTY 0.1.7
d12.x86_64
PIGSTY 0.1.7
PIGSTY 0.1.7
PIGSTY 0.1.7
PIGSTY 0.1.7
PIGSTY 0.1.7
d12.aarch64
PIGSTY 0.1.7
PIGSTY 0.1.7
PIGSTY 0.1.7
PIGSTY 0.1.7
PIGSTY 0.1.7
d13.x86_64
PIGSTY 0.1.7
PIGSTY 0.1.7
PIGSTY 0.1.7
PIGSTY 0.1.7
PIGSTY 0.1.7
d13.aarch64
PIGSTY 0.1.7
PIGSTY 0.1.7
PIGSTY 0.1.7
PIGSTY 0.1.7
PIGSTY 0.1.7
u22.x86_64
PIGSTY 0.1.7
PIGSTY 0.1.7
PIGSTY 0.1.7
PIGSTY 0.1.7
PIGSTY 0.1.7
u22.aarch64
PIGSTY 0.1.7
PIGSTY 0.1.7
PIGSTY 0.1.7
PIGSTY 0.1.7
PIGSTY 0.1.7
u24.x86_64
PIGSTY 0.1.7
PIGSTY 0.1.7
PIGSTY 0.1.7
PIGSTY 0.1.7
PIGSTY 0.1.7
u24.aarch64
PIGSTY 0.1.7
PIGSTY 0.1.7
PIGSTY 0.1.7
PIGSTY 0.1.7
PIGSTY 0.1.7
PackageVersionOSORGSIZEFile URL
pg_liquid_180.1.7el8.x86_64pigsty64.7 KiBpg_liquid_18-0.1.7-1PIGSTY.el8.x86_64.rpm
pg_liquid_180.1.7el8.aarch64pigsty62.0 KiBpg_liquid_18-0.1.7-1PIGSTY.el8.aarch64.rpm
pg_liquid_180.1.7el9.x86_64pigsty62.7 KiBpg_liquid_18-0.1.7-1PIGSTY.el9.x86_64.rpm
pg_liquid_180.1.7el9.aarch64pigsty61.8 KiBpg_liquid_18-0.1.7-1PIGSTY.el9.aarch64.rpm
pg_liquid_180.1.7el10.x86_64pigsty65.0 KiBpg_liquid_18-0.1.7-1PIGSTY.el10.x86_64.rpm
pg_liquid_180.1.7el10.aarch64pigsty62.4 KiBpg_liquid_18-0.1.7-1PIGSTY.el10.aarch64.rpm
postgresql-18-pg-liquid0.1.7d12.x86_64pigsty383.1 KiBpostgresql-18-pg-liquid_0.1.7-1PIGSTY~bookworm_amd64.deb
postgresql-18-pg-liquid0.1.7d12.aarch64pigsty378.0 KiBpostgresql-18-pg-liquid_0.1.7-1PIGSTY~bookworm_arm64.deb
postgresql-18-pg-liquid0.1.7d13.x86_64pigsty383.5 KiBpostgresql-18-pg-liquid_0.1.7-1PIGSTY~trixie_amd64.deb
postgresql-18-pg-liquid0.1.7d13.aarch64pigsty378.6 KiBpostgresql-18-pg-liquid_0.1.7-1PIGSTY~trixie_arm64.deb
postgresql-18-pg-liquid0.1.7u22.x86_64pigsty429.6 KiBpostgresql-18-pg-liquid_0.1.7-1PIGSTY~jammy_amd64.deb
postgresql-18-pg-liquid0.1.7u22.aarch64pigsty427.6 KiBpostgresql-18-pg-liquid_0.1.7-1PIGSTY~jammy_arm64.deb
postgresql-18-pg-liquid0.1.7u24.x86_64pigsty407.1 KiBpostgresql-18-pg-liquid_0.1.7-1PIGSTY~noble_amd64.deb
postgresql-18-pg-liquid0.1.7u24.aarch64pigsty402.7 KiBpostgresql-18-pg-liquid_0.1.7-1PIGSTY~noble_arm64.deb
PackageVersionOSORGSIZEFile URL
pg_liquid_170.1.7el8.x86_64pigsty64.7 KiBpg_liquid_17-0.1.7-1PIGSTY.el8.x86_64.rpm
pg_liquid_170.1.7el8.aarch64pigsty62.0 KiBpg_liquid_17-0.1.7-1PIGSTY.el8.aarch64.rpm
pg_liquid_170.1.7el9.x86_64pigsty62.7 KiBpg_liquid_17-0.1.7-1PIGSTY.el9.x86_64.rpm
pg_liquid_170.1.7el9.aarch64pigsty61.8 KiBpg_liquid_17-0.1.7-1PIGSTY.el9.aarch64.rpm
pg_liquid_170.1.7el10.x86_64pigsty65.0 KiBpg_liquid_17-0.1.7-1PIGSTY.el10.x86_64.rpm
pg_liquid_170.1.7el10.aarch64pigsty62.4 KiBpg_liquid_17-0.1.7-1PIGSTY.el10.aarch64.rpm
postgresql-17-pg-liquid0.1.7d12.x86_64pigsty379.0 KiBpostgresql-17-pg-liquid_0.1.7-1PIGSTY~bookworm_amd64.deb
postgresql-17-pg-liquid0.1.7d12.aarch64pigsty376.7 KiBpostgresql-17-pg-liquid_0.1.7-1PIGSTY~bookworm_arm64.deb
postgresql-17-pg-liquid0.1.7d13.x86_64pigsty379.7 KiBpostgresql-17-pg-liquid_0.1.7-1PIGSTY~trixie_amd64.deb
postgresql-17-pg-liquid0.1.7d13.aarch64pigsty377.4 KiBpostgresql-17-pg-liquid_0.1.7-1PIGSTY~trixie_arm64.deb
postgresql-17-pg-liquid0.1.7u22.x86_64pigsty450.1 KiBpostgresql-17-pg-liquid_0.1.7-1PIGSTY~jammy_amd64.deb
postgresql-17-pg-liquid0.1.7u22.aarch64pigsty450.4 KiBpostgresql-17-pg-liquid_0.1.7-1PIGSTY~jammy_arm64.deb
postgresql-17-pg-liquid0.1.7u24.x86_64pigsty400.9 KiBpostgresql-17-pg-liquid_0.1.7-1PIGSTY~noble_amd64.deb
postgresql-17-pg-liquid0.1.7u24.aarch64pigsty401.5 KiBpostgresql-17-pg-liquid_0.1.7-1PIGSTY~noble_arm64.deb
PackageVersionOSORGSIZEFile URL
pg_liquid_160.1.7el8.x86_64pigsty64.7 KiBpg_liquid_16-0.1.7-1PIGSTY.el8.x86_64.rpm
pg_liquid_160.1.7el8.aarch64pigsty62.0 KiBpg_liquid_16-0.1.7-1PIGSTY.el8.aarch64.rpm
pg_liquid_160.1.7el9.x86_64pigsty62.7 KiBpg_liquid_16-0.1.7-1PIGSTY.el9.x86_64.rpm
pg_liquid_160.1.7el9.aarch64pigsty61.8 KiBpg_liquid_16-0.1.7-1PIGSTY.el9.aarch64.rpm
pg_liquid_160.1.7el10.x86_64pigsty64.9 KiBpg_liquid_16-0.1.7-1PIGSTY.el10.x86_64.rpm
pg_liquid_160.1.7el10.aarch64pigsty62.4 KiBpg_liquid_16-0.1.7-1PIGSTY.el10.aarch64.rpm
postgresql-16-pg-liquid0.1.7d12.x86_64pigsty372.0 KiBpostgresql-16-pg-liquid_0.1.7-1PIGSTY~bookworm_amd64.deb
postgresql-16-pg-liquid0.1.7d12.aarch64pigsty368.1 KiBpostgresql-16-pg-liquid_0.1.7-1PIGSTY~bookworm_arm64.deb
postgresql-16-pg-liquid0.1.7d13.x86_64pigsty372.4 KiBpostgresql-16-pg-liquid_0.1.7-1PIGSTY~trixie_amd64.deb
postgresql-16-pg-liquid0.1.7d13.aarch64pigsty368.5 KiBpostgresql-16-pg-liquid_0.1.7-1PIGSTY~trixie_arm64.deb
postgresql-16-pg-liquid0.1.7u22.x86_64pigsty437.0 KiBpostgresql-16-pg-liquid_0.1.7-1PIGSTY~jammy_amd64.deb
postgresql-16-pg-liquid0.1.7u22.aarch64pigsty436.2 KiBpostgresql-16-pg-liquid_0.1.7-1PIGSTY~jammy_arm64.deb
postgresql-16-pg-liquid0.1.7u24.x86_64pigsty393.9 KiBpostgresql-16-pg-liquid_0.1.7-1PIGSTY~noble_amd64.deb
postgresql-16-pg-liquid0.1.7u24.aarch64pigsty391.3 KiBpostgresql-16-pg-liquid_0.1.7-1PIGSTY~noble_arm64.deb
PackageVersionOSORGSIZEFile URL
pg_liquid_150.1.7el8.x86_64pigsty65.4 KiBpg_liquid_15-0.1.7-1PIGSTY.el8.x86_64.rpm
pg_liquid_150.1.7el8.aarch64pigsty62.5 KiBpg_liquid_15-0.1.7-1PIGSTY.el8.aarch64.rpm
pg_liquid_150.1.7el9.x86_64pigsty64.0 KiBpg_liquid_15-0.1.7-1PIGSTY.el9.x86_64.rpm
pg_liquid_150.1.7el9.aarch64pigsty62.8 KiBpg_liquid_15-0.1.7-1PIGSTY.el9.aarch64.rpm
pg_liquid_150.1.7el10.x86_64pigsty66.2 KiBpg_liquid_15-0.1.7-1PIGSTY.el10.x86_64.rpm
pg_liquid_150.1.7el10.aarch64pigsty63.6 KiBpg_liquid_15-0.1.7-1PIGSTY.el10.aarch64.rpm
postgresql-15-pg-liquid0.1.7d12.x86_64pigsty370.4 KiBpostgresql-15-pg-liquid_0.1.7-1PIGSTY~bookworm_amd64.deb
postgresql-15-pg-liquid0.1.7d12.aarch64pigsty367.5 KiBpostgresql-15-pg-liquid_0.1.7-1PIGSTY~bookworm_arm64.deb
postgresql-15-pg-liquid0.1.7d13.x86_64pigsty370.7 KiBpostgresql-15-pg-liquid_0.1.7-1PIGSTY~trixie_amd64.deb
postgresql-15-pg-liquid0.1.7d13.aarch64pigsty368.0 KiBpostgresql-15-pg-liquid_0.1.7-1PIGSTY~trixie_arm64.deb
postgresql-15-pg-liquid0.1.7u22.x86_64pigsty434.7 KiBpostgresql-15-pg-liquid_0.1.7-1PIGSTY~jammy_amd64.deb
postgresql-15-pg-liquid0.1.7u22.aarch64pigsty435.0 KiBpostgresql-15-pg-liquid_0.1.7-1PIGSTY~jammy_arm64.deb
postgresql-15-pg-liquid0.1.7u24.x86_64pigsty391.1 KiBpostgresql-15-pg-liquid_0.1.7-1PIGSTY~noble_amd64.deb
postgresql-15-pg-liquid0.1.7u24.aarch64pigsty391.8 KiBpostgresql-15-pg-liquid_0.1.7-1PIGSTY~noble_arm64.deb
PackageVersionOSORGSIZEFile URL
pg_liquid_140.1.7el8.x86_64pigsty65.4 KiBpg_liquid_14-0.1.7-1PIGSTY.el8.x86_64.rpm
pg_liquid_140.1.7el8.aarch64pigsty62.6 KiBpg_liquid_14-0.1.7-1PIGSTY.el8.aarch64.rpm
pg_liquid_140.1.7el9.x86_64pigsty64.0 KiBpg_liquid_14-0.1.7-1PIGSTY.el9.x86_64.rpm
pg_liquid_140.1.7el9.aarch64pigsty62.8 KiBpg_liquid_14-0.1.7-1PIGSTY.el9.aarch64.rpm
pg_liquid_140.1.7el10.x86_64pigsty66.1 KiBpg_liquid_14-0.1.7-1PIGSTY.el10.x86_64.rpm
pg_liquid_140.1.7el10.aarch64pigsty63.6 KiBpg_liquid_14-0.1.7-1PIGSTY.el10.aarch64.rpm
postgresql-14-pg-liquid0.1.7d12.x86_64pigsty366.4 KiBpostgresql-14-pg-liquid_0.1.7-1PIGSTY~bookworm_amd64.deb
postgresql-14-pg-liquid0.1.7d12.aarch64pigsty363.5 KiBpostgresql-14-pg-liquid_0.1.7-1PIGSTY~bookworm_arm64.deb
postgresql-14-pg-liquid0.1.7d13.x86_64pigsty367.0 KiBpostgresql-14-pg-liquid_0.1.7-1PIGSTY~trixie_amd64.deb
postgresql-14-pg-liquid0.1.7d13.aarch64pigsty364.5 KiBpostgresql-14-pg-liquid_0.1.7-1PIGSTY~trixie_arm64.deb
postgresql-14-pg-liquid0.1.7u22.x86_64pigsty427.7 KiBpostgresql-14-pg-liquid_0.1.7-1PIGSTY~jammy_amd64.deb
postgresql-14-pg-liquid0.1.7u22.aarch64pigsty429.9 KiBpostgresql-14-pg-liquid_0.1.7-1PIGSTY~jammy_arm64.deb
postgresql-14-pg-liquid0.1.7u24.x86_64pigsty387.5 KiBpostgresql-14-pg-liquid_0.1.7-1PIGSTY~noble_amd64.deb
postgresql-14-pg-liquid0.1.7u24.aarch64pigsty388.5 KiBpostgresql-14-pg-liquid_0.1.7-1PIGSTY~noble_arm64.deb

Source

pig build pkg pg_liquid;		# build rpm/deb

Install

Make sure PGDG and PIGSTY repo available:

pig repo add pgsql -u   # add both repo and update cache

Install this extension with pig:

pig install pg_liquid;		# install via package name, for the active PG version

pig install pg_liquid -v 18;   # install for PG 18
pig install pg_liquid -v 17;   # install for PG 17
pig install pg_liquid -v 16;   # install for PG 16
pig install pg_liquid -v 15;   # install for PG 15
pig install pg_liquid -v 14;   # install for PG 14

Create this extension with:

CREATE EXTENSION pg_liquid;

Usage

Syntax:

CREATE EXTENSION pg_liquid;
SELECT liquid.query('Edge("a","b"). Edge("b","c"). Path(X,Y) :- Edge(X,Y). Path(X,Y) :- Edge(X,Z), Path(Z,Y). Path("a",Y)?');

Sources: README, Docs site

pg_liquid maps the Liquid blog language and data model onto native PostgreSQL storage and execution. The extension exposes SQL entry points for running Liquid-style programs, querying as a principal, and managing row normalizers that project relational rows into Liquid compounds.

Core Functions

The upstream README lists these main functions:

  • liquid.query(program text)
  • liquid.query_as(principal text, program text)
  • liquid.read_as(principal text, program text)

These support plain execution, principal-aware querying, and CLS-aware reads.

Language Features

The current README says supported program features include:

  • % comments
  • assertions and rule definitions terminated with .
  • one terminal ? query
  • Edge(...)
  • named compounds such as Type@(cid=..., role=...)
  • query-local recursive rules

Example Shape

Programs are passed as text and can define facts, rules, and a final query:

SELECT liquid.query($$
  Edge("a","b").
  Edge("b","c").
  Path(X,Y) :- Edge(X,Y).
  Path(X,Y) :- Edge(X,Z), Path(Z,Y).
  Path("a",Y)?
$$);

Notes

The project README points to the VitePress documentation site as the main documentation surface and notes that operational rollout details are also documented there. The extension is currently published as PGXN package version 0.1.1 and validated against PostgreSQL 14 through 18.

Last updated on