Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
A Brief Introduction to PG'OCaml
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2007-09-05 (14:47)
From: Dario Teixeira <darioteixeira@y...>
Subject: A Brief Introduction to PG'OCaml
Dear OCaml users,

I have been using the PG'OCaml library for some time now, and I have
written some notes that document various aspects of the library.
Judging from the recent messages in the Ocaml-beginners mailing-list,
there's an active interest in this library out there.  I have thus
decided to expand on those notes and to make them publicly available.

The document, title "A Brief Introduction to PG'OCaml" can be found at
the following address:
(A summary of its contents is attached to the end of this message).

Suggestions/corrections are of course welcome!

Kind regards,
Dario Teixeira


PG'OCaml, by Richard W. M. Jones, provides an interface to PostgreSQL
databases for OCaml applications. It uses Camlp4 to extend the OCaml
syntax, enabling one to directly embed SQL statements inside the OCaml
code. Moreover, it uses the describe feature of PostgreSQL to obtain
type information about the database. This allows PG'OCaml to check at
compile-time  if the programme is indeed consistent with the database
structure. This type-safe database access is the primary advantage that
PG'OCaml has over other PostgreSQL bindings for OCaml.

Unfortunately, PG'OCaml is rather lacking on the documentation
front. This document aims to fill that gap, by providing an overview
of the capabilities of the library, usage examples, and solutions to
potential pitfalls. Moreover, it also addresses the installation of
PG'OCaml, how to compile programmes that make use of the library, and the
correspondence between PostgreSQL data types and their OCaml counterparts.

Yahoo! Answers - Got a question? Someone out there knows the answer. Try it