Home > nspostgres

nspostgres

Nspostgres is a project mainly written in C, it's free.

PostgreSQL database driver for AOLserver.

What is this?

This module implements a simple AOLserver database services driver. A database driver is a module which interfaces between the AOLserver database-independent nsdb module and the API of a particular DBMS. A database driver's job is to open connections, send SQL statements, and translate the results into the form used by nsdb. In this case, the driver is for the PostgreSQL ORDBMS from The PostgreSQL Global Development Group. This is the official driver for the OpenACS project. PostgreSQL can be downloaded and installed on most Unix systems. To use this driver, you must have PostgreSQL installed on your system. For more information on PostgreSQL or to download the code, open:

    http://www.postgresql.org

How does it work?

Driver modules look much like ordinary AOLserver modules but are loaded differently. Instead of being listed with other modules in the [ns/server//modules] configuration section, a database driver is listed in the [ns/db/drivers] section and nsdb does the loading. The database driver initialization function normally does little more than call the nsdb Ns_DbRegisterDriver() function with an array of pointers to functions. The functions are then later used by nsdb to open database connections and send and process queries. This architecture is much like ODBC on Windows. In addition to open, select, and getrow functions, the driver also provides system catalog functions and a function for initializing a virtual server. The virtual server initialization function is called each time nsdb is loaded into a virtual server. In this case, the server initialization function, Ns_PgServerInit, adds the "ns_pg" Tcl command to the server's Tcl interpreters which can be used to fetch information about an active PostgreSQL connection in a Tcl script.

Contributors to this file include:

    Jim Lynch       <[email protected]>
Don Baccus      <[email protected]>
Lamar Owen      <[email protected]>
Jan Wieck       <[email protected]>
Keith Pasket        (SDL/USU)
Scott Cannon, Jr.   (SDL/USU)
    Dan Wickstrom           <[email protected]>
Scott S. Goodwin    <[email protected]>

Original example driver by Jim Davidson

DEVELOPER'S GUIDE:

Run 'make help' for developer information.

See the Makefile for further information on building this module.

Note additions to build system (made in 2007):

make POSTGRES=SEPARATELY PGINC=... PGLIB=... make POSTGRES=PG_CONFIG make POSTGRES=PG_CONFIG PG_CONFIG=/path/to/pg_config

NOTE NOTE NOTE!! As of aolserver-4.5.x, the variable INST is used for a different purpose than it used to be, so DO NOT set it to the installation dir!!