1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140
|
guile-pg
========
This is a set of bindings providing a Guile interface to the PostgreSQL
front-end library libpq.
This is alpha code (pre 1.0 release). It has bugs, and the interfaces may
change from version to version.
To build guile-pg you need to have installed both Guile >= 1.3.4 and the
PostgreSQL frontend library libpq. This version of guile-pg has been tested
with PostgreSQL version 7.3.3, but you may find it works with other versions.
If so, please let us know the good news. (You can do this by changing to
the test/ subdirectory and typing "./show-platform && ./show-platform -m".
The "-m" means "mail results to good-news-guile-pg at glug dot org".)
Building and Installing Guile-pg
--------------------------------
Generic install instructions are provided in the file INSTALL. If
you're in a hurry:
Get the latest source distribution from
http://www.glug.org/alt/
Unpack it. If you're using GNU tar you can do this by typing
tar xzf guile-pg-x.xx.tar.gz
If you're not using GNU tar then you need to explicitly unzip it
first. Type:
gzip -d -c guile-pg-x.xx.tar.gz | tar xf -
Then change to the top-level directory guile-pg-x.xx and run the
configure script, followed by make:
cd guile-pg-x.xx
./configure
make
If the ./configure script failed because it couldn't find libpq or the libpq
headers then you can use the --with-libpq option to direct configure to the
appropriate directory. E.g. if you installed Postgres with the prefix
~/local/ix86, so that the libpq headers are in ~/local/ix86/include and the
library in ~/local/ix86/lib then you would configure guile-pg using a line
like:
./configure --with-libpq=~/local/ix86
If your libpq include directory is somewhere other than where the lib
dorectory is then you can use the more specific switches --with-libpq-includes
and --with-libpq-libs. See the output of "./configure --help" for details.
If the configure script failed because it couldn't find guile-config, then
make sure that script is on your path.
If libguile is installed in a "non-standard" place, you may need to set the
LDFLAGS environment variable to get configure to find it. For example, if you
use GCC with GNU ld and guile is installed under /opt/guile, then this can be
achieved as follows:
LDFLAGS='-Wl,-rpath -Wl/opt/guile/lib' ./configure
If you use a C shell then you can use the env program:
env LDFLAGS='-Wl,-rpath -Wl/opt/guile/lib' ./configure
After configuration, do "make" to build the libraries. You can now run the
tests. These need to be run as a user with permissions to create databases.
They also need permissions to write to the guile-pg build directory. You
could do this by unpacking and building guile-pg as the Postgres superuser, or
by making yourself a user with permissions to create databases. To do the
latter use the PostgreSQL `createuser' command.
The tests assume that the postmaster is either running on the local host or on
the host pointed to by the PGHOST environment variable. If PostgreSQL is
running on a different host then type
export PGHOST=postgres.somewhere.org
or
setenv PGHOST postgres.somewhere.org
if you use the other sort of shell.
The tests will destroy any existing database called 'guile_pg_test',
then create it anew. Once the tests have completed you can destroy the
guile_pg_test database by typing
dropdb guile_pg_test # or "destroydb" for old PostgreSQL
To run the tests type
make check
The basic tests should all pass. The large-object tests might fail because of
bugs in PostgreSQL. If the basic tests passed then you may want to install
guile-pg. To do this type "make install".
If you didn't use the --prefix options to configure then the shared library
code will have been installed wherever Guile's shared libraries are installed,
and the scheme code for the postgres interface will have been installed where
Guile's scheme files were.
If you want to see what files would be installed where before you run make
install, use the -n option of make to get a report of what would be done,
without actually doing it. That is, type:
make -n install
There is a reference manual in the source distribution. To see it type:
cd doc
info --file ./guile-pg.info
If you want to print out the documentation type
cd doc
make dvi
dvips -o guile-pg.ps guile-pg.dvi
then print the guile-pg.ps file.
If you want to make an HTML version of the manual then type
texi2html guile-pg.texi
Reporting Bugs
--------------
Please report bugs to bug-guile-pg@glug.org
Thanks,
Thien-Thi Nguyen <ttn@glug.org> (co-author and maintainer)
Ian Grant <Ian.Grant@cl.cam.ac.uk> (original author)
|