Liking cljdoc? Tell your friends :D

Changelog

pgmalli follows semantic versioning. Before 1.0, a minor release may break what Stability lists; its entry says what to do.

0.3.0 (2026-10-30)

The first release meant for use. The releases before it were development and are not listed; the README describes what this one does.

  • PostgreSQL schemas as malli: rows, insert and update schemas, enums, domains, keys, EXCLUDE constraints and triggers, and CHECKs as malli or evaluated as PostgreSQL evaluates them. Generated over psql or JDBC (generate!, pgmalli.main), read as a registry (registry, generated, columns, portable), read back as PostgreSQL types (describe).
  • Rows and datasets generated as the database takes them, written as HoneySQL INSERTs and kept as EDN fixtures (pgmalli.data: dataset-schema, dataset-generator, short-tables, inserts, write-dataset, read-dataset, readers).
  • Rows typed as next.jdbc builds them from what pgjdbc returns (as-read, read-options, transformer).
  • HoneySQL queries checked against the schema with no database, their arguments and rows typed, and each problem said as what to do (pgmalli.honeysql: check, arg-types, params-schema, row-schema, query-schema, tables, schema-problems, explain).
  • Generated files kept current in CI (generate/check, generate/diff, pgmalli.main check).

Supported, each and later: PostgreSQL 16, HoneySQL 2.4.1066, next.jdbc 1.3, pgjdbc 42.7, malli 0.20 and Clojure 1.11; babashka for everything but JDBC.

Can you improve this documentation?Edit on GitHub

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
←Move to previous article
→Move to next article
Ctrl+/Jump to the search field
× close