cl-postmodern 1.32.9 Common Lisp library for interacting with PostgreSQL

postmodern is a Common Lisp library for interacting with PostgreSQL databases. It provides the following features:

  • Efficient communication with the database server without need for foreign libraries.

  • Support for UTF-8 on Unicode-aware Lisp implementations.

  • A syntax for mixing SQL and Lisp code.

  • Convenient support for prepared statements and stored procedures.

  • A metaclass for simple database-access objects.

This package produces 4 systems: postmodern, cl-postgres, s-sql, simple-date

SIMPLE-DATE is a very basic implementation of date and time objects, used to support storing and retrieving time-related SQL types. It is not loaded by default and you can use local-time (which has support for timezones) instead.

S-SQL is used to compile s-expressions to strings of SQL code, escaping any Lisp values inside, and doing as much as possible of the work at compile time.

CL-POSTGRES is the low-level library used for interfacing with a PostgreSQL server over a socket.

POSTMODERN itself is a wrapper around these packages and provides higher level functions, a very simple data access object that can be mapped directly to database tables and some convient utilities. It then tries to put all these things together into a convenient programming interface