PG2 release 0.1.11: HugSQL support

The latest 0.1.11 release of PG2 introduces HugSQL support. The pg2-hugsql package brings integration with the HugSQL library. It creates functions out from SQL files like HugSQL does but these functions use the PG2 client instead of JDBC. Under the hood, there is a special datab … | Continue reading


@grishaev.me | 15 days ago

PG2 release 0.1.9: arrays

The latest 0.1.9 release of PG2 supports Postgres arrays. In JDBC, arrays have always been a pain. Every time you’re about to pass an array to the database and read it back, you’ve got to wrap your data in various Java classes, extend protocols, and multimethods. In Postgres, the … | Continue reading


@grishaev.me | 25 days ago

PG2 release 0.1.6: rich JSON capabilities

PG2 version 0.1.6 is out, and it ships various improvements to JSON(b) handling. Table of Content Basic usage Json Wrapper Custom Object Mapper Utility pg.json namespace Reading JSON Writing JSON Ring HTTP middleware Postgres is amazing when dealing with JSON. There hardly can be … | Continue reading


@grishaev.me | 1 month ago

PG2 release 0.1.5: Migrations

PG2 version 0.1.5 ships its own migration engine through the pg2-migration package. Like Migratus or Ragtime, it allows to grow the database schema continuously, track changes and apply them with care. Table of Content Installation Concepts Naming SQL No Code-Driven Migrations Mi … | Continue reading


@grishaev.me | 1 month ago

PG2 release 0.1.3: Next.JDBC-compatible API

Table of Content Obtaining a Connection Executing Queries Transactions Keys and Namespaces PG2 version 0.1.3 is out. One of its new features is a module which mimics Next.JDBC API. Of course, it doesn’t cover 100% of Next.JDBC features yet most of the functions and macros … | Continue reading


@grishaev.me | 2 months ago

I will never let monads be in a Clojure project

Continue reading


@grishaev.me | 3 years ago

Clojure extended: Java interop book

Continue reading


@grishaev.me | 5 years ago

Remus: a new RSS/Atom feed parser for Clojure

Continue reading


@grishaev.me | 5 years ago

A hidden message in Cognicast podcasts (Clojure)

Continue reading


@grishaev.me | 5 years ago

Environ variables are not for configuring software

Continue reading


@grishaev.me | 5 years ago