Lisp Programming Interface

PostgreSQL
Prev |  | Next

# Chapter 59. Lisp Programming Interface

> `pg.el` is a socket-level interface to Postgres for emacs.

> Author: Written by Eric Marsden on 21 Jul 1999.

`pg.el` is a socket-level interface to Postgres for emacs (text editor extraordinaire). The module is capable of type coercions from a range of SQL types to the equivalent Emacs Lisp type. It currently supports neither crypt or Kerberos authentication, nor large objects.

The code (version 0.2) is available under GNU GPL from Eric Marsden

Changes since last release:

- now works with XEmacs (tested with Emacs 19.34 & 20.2, and XEmacs 20.4)

- added functions to provide database metainformation (list of databases, of tables, of columns)

- arguments to `pg:result' are now :keywords

- MULE-resistant

- more self-testing code

Please note that this is a programmer's API, and doesn't provide any form of user interface. Example:

     (defun demo ()
        (interactive)
        (let* ((conn (pg:connect "template1" "postgres" "postgres"))
               (res (pg:exec conn "SELECT * from scshdemo WHERE a = 42")))
          (message "status is %s"   (pg:result res :status))
          (message "metadata is %s" (pg:result res :attributes))
          (message "data is %s"     (pg:result res :tuples))
          (pg:disconnect conn)))

Prev | Home | Next
Further Reading | Up | Developer's Guide