The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

DBD::Pg  --  a PostgreSQL interface for Perl 5.

   $Id: README,v 1.30 1998/11/05 22:35:05 mergl Exp $

   Portions Copyright (c) 1994,1995,1996,1997 Tim Bunce
   Portions Copyright (c) 1997,1998           Edmund Mergl

   You may distribute under the terms of either the GNU General Public
   License or the Artistic License, as specified in the Perl README file, 
   with the exception that it cannot be placed on a CD-ROM or similar media
   for commercial distribution without the prior approval of the author.


DESCRIPTION:
------------

This is version 0.89 of DBD-Pg.
DBD-Pg is a PostgreSQL interface for Perl5 using DBI.

For further information about DBI look at:
      http://www.fugue.com/dbi/



RECENT CHANGES:
---------------
- adapted to postgresql-6.4:
  the backend protocol has changed, which needs an adapted
  ping method. A ping-test has been added to the test-script.
  Also some type identifiers have changed. 
- Pg.xs adapted to Driver.xst from DBI-1.0
- major rewrite of module documentation 
- major rewrite of the test script
- use built-in DBI method for $dbh->do 
- add macro dHTR in order to avoid compile errors 
  with threaded perl5.005
- renamed attribute AutoEscape to pg_auto_escape
- renamed attribute SIZE to pg_size
- new attribute pg_type
- added support for DBI->data_sources($driver)
- added support for $dbh->table_info
- blob_read documented and added to test.pl 
- added support for attr parameter in bind_param()
- added /usr/lib/ to search path for libpq.
- added ChopBlanks, patch from 
  Victor Krasinsky <victor@rdovira.lviv.ua>
- non-printable characters in parameters will not be 
  converted to '.'. They are passed unchanged to the 
  database. 
- introduce new database handle attribute AutoEscape, which 
  controls escaping of quotes and backslashes in parameters. 
  When set to on, all quotes except at the beginning and 
  at the end of a line will be escaped and all backslashes 
  except when used to indicate an octal presentation (\xxx) 
  will be escaped. Default of AutoEscape is on. 
- bug-fix from Max Cohan <mcohan@adnc.net>:
  check for \xxx presentation before escaping backslash
  in parameters. 
- bug-fix from Max Cohan <mcohan@adnc.net>:
  using traces together with undef in place-holders dumped 
  core. 
- bug-fix from Matthew Lenz <matthew@nocturnal.org>:
  corrected include path in Makefile.PL .
- bug-fix from Rolf Grossmann <grossman@securitas.net>:
  undefined parameters in an execute statement will be 
  translated from 'undef' to 'NULL'. Also every parameter 
  for bind_param() will be quoted by default (escape quote 
  and backslash). Appropriate tests have been added to test.pl. 
- bug-fix from Jan Iven <j.iven@rz.uni-sb.de>:
  fix problem with quoting Null in bind variables.



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. 


IF YOU HAVE PROBLEMS:
---------------------

Please send comments and bug-reports to <dbi-users@fugue.com>>

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.4)


PLATFORMS:
----------

  This release of DBD-Pg 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:
-------------

The Makefile checks the environment variable POSTGRES_HOME as well 
some standard locations, to find the root directory of your Postgres 
installation.
 
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 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 

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" <drnoble@engsci.sandia.gov>

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 <danla@dimensional.com>

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.


---------------------------------------------------------------------------

   Edmund Mergl <E.Mergl@bawue.de>                       November 05, 1998

---------------------------------------------------------------------------