DBD::Pg -- a PostgreSQL interface for Perl 5. $Id: README,v 1.43 2001/05/24 17:30:45 mergl Exp $ Copyright (c) 1997,1998,1999,2000 Edmund Mergl Portions Copyright (c) 1994,1995,1996,1997 Tim Bunce You may distribute under the terms of either the GNU General Public License or the Artistic License, as specified in the Perl README file. DESCRIPTION: ------------ This is version 0.99 of DBD-Pg. DBD-Pg is a PostgreSQL interface for Perl5 using DBI. For further information about DBI look at: http://dbi.symbolstone.org/ RECENT CHANGES: --------------- - fix the segmentation fault in pg_error. 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. HOW TO GET THE LATEST VERSION: ------------------------------ Use the following URL to look for new versions of this module: http://www.perl.com/CPAN/modules/by-module/DBD/ Note, that this request will be redirected automatically to the nearest CPAN site. A precompiled package for Windows-NT is available at: http://www.edmund-mergl.de/export/DBD-Pg.zip 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, the version of DBD-Pg, and the version of DBI in your bug-report. REQUIREMENTS: ------------- - build, test and install Perl 5 (at least 5.003) - build, test and install the DBI module (at least 1.00) - build, test and install PostgreSQL (at least 6.5) PLATFORMS: ---------- This release of DBD-Pg has been developed using Linux 2.2 with dynamic loading for the perl extensions. Let me know, if there are any problems with other platforms. INSTALLATION: ------------- The Makefile checks the environment variables POSTGRES_INCLUDE and POSTGRES_LIB, to find the library libpq.so and the proper include files. 1. perl Makefile.PL 2. make 3. make test 4. make install ( 1. to 3. as normal user, not as root ! ) For Windows-NT use the pre-compiled package DBD-Pg.zip. Unzip the package and follow the instructions in the README. 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 in 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: install_driver(Pg) failed: Can't load './blib/arch/auto/DBD/Pg/Pg.so' for module DBD::Pg: File not found at If you get an error message like: perl: error while loading shared libraries: /usr/lib/perl5/site_perl/5.6.0/i386-linux/auto/DBD/Pg/Pg.so: undefined symbol: PQconnectdb when you call DBI->connect, then your libpq.so was probably not seen at build-time. This should have caused 'make test' to fail; did you really run it and look at the output? Check the setting of POSTGRES_LIB and recompile DBD-Pg. 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. 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 FreeBSD users: if you get during make test the error message: 'DBD driver has not implemented the AutoCommit attribute' recompile the DBI module and the DBD-Pg module and disable optimization. This error message is due to the broken optimization in gcc-2.7.2.1. Sun Users: if you get compile errors like: /usr/include/string.h:57: parse error before `]' then you need to remove from pgsql/include/libpq-fe.h the define for strerror, which clashes with the definition in the standard include file. Win32 Users: Running DBD-Pg scripts on Win32 needs some configuration work on the server side: - add a postgres user with the same name as the NT-User (eg Administrator) - make sure, that your pg_hba.conf on the server is configured, such that a connection from another host will be accepted --------------------------------------------------------------------------- Edmund Mergl May 24, 2001 ---------------------------------------------------------------------------