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)))