#------------------------------------------------------- # # $Id: README,v 1.17 1999/01/14 18:44:08 mergl Exp $ # # Copyright (c) 1997, 1998 Edmund Mergl # #------------------------------------------------------- DESCRIPTION: ------------ This is version 1.8.1 of pgsql_perl5 (previously called pg95perl5). Pgsql_perl5 is an interface between Larry Wall's language perl version 5 and the database PostgreSQL (previously Postgres95). This has been done by using the Perl5 application programming interface for C extensions which calls the Postgres programmer's interface LIBPQ. Pgsql_perl5 tries to implement the LIBPQ- interface as close as possible. You have the choice between two different interfaces: the old C-style like interface and a new one, using a more Perl-ish like style. The old style has the benefit, that existing Libpq applications can easily be ported to perl. The new style uses class packages and might be more familiar for C++- programmers. NOTE: it is planned to drop the old C-style interface in the next major release of PostgreSQL. COPYRIGHT: ---------- You may distribute under the terms of either the GNU General Public License or the Artistic License, as specified in the Perl README file. IF YOU HAVE PROBLEMS: --------------------- Please send comments and bug-reports to Please include the output of perl -v, and perl -V, the version of PostgreSQL, and the version of pgsql_perl5 in your bug-report. REQUIREMENTS: ------------- - build, test and install Perl5 (at least 5.002) - build, test and install PostgreSQL (at least 6.4) PLATFORMS: ---------- This release of pgsql_perl5 has been developed using Linux 2.0 with dynamic loading for the perl extensions. Let me know, if there are any problems with other platforms. INSTALLATION: ------------- Building the perl interface stand-alone, you need to set the environment variable POSTGRES_HOME, pointing to the PostgreSQL home-directory. Also PostgreSQL needs to be installed having the include files in $POSTGRES_HOME/include and the libs in $POSTGRES_HOME/lib. Then you have to build the module as any standard perl-module with the following commands: 1. perl Makefile.PL 2. make 3. make test 4. make install ( 1. to 3. as normal user, not as root ! ) TESTING: -------- Run 'make test'. Note, that the user running this script must have been created with the access rights to create databases *AND* users ! Do not run this script as root ! If testing fails with the message 'login failed', please check if access to the database template1 as well as pgperltest is not protected via pg_hba.conf. If you are using the shared library libpq.so check if your dynamic loader finds libpq.so. With Linux the command /sbin/ldconfig -v should tell you, where it finds libpq.so. If ldconfig does not find libpq.so, either add an appropriate entry to /etc/ld.so.conf and re-run ldconfig or add the path to the environment variable LD_LIBRARY_PATH. A typical error message resulting from not finding libpq.so is: Can't load './blib/arch/auto/Pg/Pg.so' for module Pg: File not found at Some linux distributions have an incomplete perl installation. If you have compile errors like "XS_VERSION_BOOTCHECK undeclared", make a 'find .../lib/perl5 -name XSUB.h -print' If this file is not present, you need to recompile and reinstall perl. Also RedHat 5.0 seems to have an incomplete perl-installation: if you get error message during the installation complaining about a missing perllocal.pod, you need to recompile and reinstall perl. SGI users: if you get segmentation faults make sure, you use the malloc which comes with perl when compiling perl (the default is not to). "David R. Noble" HP users: if you get error messages like: can't open shared library: .../lib/libpq.sl No such file or directory when running the test script, try to replace the 'shared' option in the LDDFLAGS with 'archive'. Dan Lauterbach DOCUMENTATION: -------------- Detailed documentation can be found in Pg.pm. Use 'perldoc Pg' after installation to read the documentation. --------------------------------------------------------------------------- Edmund Mergl January 14, 1999 ---------------------------------------------------------------------------