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