
=head1 NAME

DBD::PgPP - Perlだけで記述したDBI用PostgreSQLドライバ

=head1 SYNOPSIS

  use DBI;

  my $dbh = DBI->connect('dbi:PgPP:dbname=$dbname', '', ''');

  # 詳しくはDBIモジュールのドキュメントを参照してください

=head1 DESCRIPTION

DBD::PgPPはPerlだけで記述したPostgreSQLデータベース用のクライアントイ
ンターフェイスです。このモジュールはPostgreSQLのサーバとクライアントが
交わすネットワークプロトコルを実装しているので、B<libpq> など他の
PostgreSQLクライアントライブラリを必要としません。つまりこのモジュール
はPostgreSQLが移植されていないOSから、PostgreSQLと通信できるのです。

=head1 MODULE DOCUMENTATION

このドキュメントはDBD::PgPPに特化した部分や制限について説明するもので、
すべてを網羅するリファレンスではありません。このドキュメントを読む前に
まずDBIモジュールのマニュアルを読んでください。

=head1 THE DBI CLASS

=head2 DBI Class Methods

=over 4

=item B<connect>

データベースに接続するための最低限のパラメータは次のとおりです:

  $dbh = DBI->connect('dbi:PgPP:dbname=$dbname', '', '');

このパラメータはユーザ認証を必要としないlocalhostの$dbnameデータベース
に接続します。これはPostgreSQLのデフォルトの設定で利用できます。

connect()に関するパラメータは次のとおりです:

  $dbh = DBI->connect(
      "dbi:PgPP:dbname=$dbname",
      $username, $password
  );

  $dbh = DBI->connect(
      "dbi:PgPP:dbname=$dbname;host=$host;port=$port",
      $username, $password
  );

  $dbh = DBI->connect(
      "dbi:PgPP:dbname=$dbname;path=$path;port=$port",
      $username, $password
  );

      パラメータ | デフォルト値
      -----------+-------------------
      dbname     | current userid
      host       | localhost
      port       | 5432
      path       | /tmp
      debug      | undef

I<host>パラメータを使用する場合は、対象となるホストの F<postmaster> を
C<-i>オプション(TCP/IPソケット)で起動しておく必要があります。

ユーザ名とパスワードを使用する認証は、サーバ側のF<pg_hba.conf>で適切な
設定を行う必要があります。認証方法についてはI<pg_hba.conf>とI<pg_passwd>
のマニュアルページを参照してください。

=back

=head1 SUPPORT OPERATING SYSTEM

このモジュールは次のOSでテストが完了しています。

=over 4

=item * Mac OS 9

with MacPerl5.6.1r1 built for PowerPC

=item * Mac OS X

with perl v5.6.0 built for darwin
 
=item * Windows2000

with ActivePerl5.6.1 build631.

=item * FreeBSD 4.6

with perl v5.6.1 built for i386-freebsd

=item * FreeBSD 3.4

with perl v5.6.1 built for i386-freebsd

with perl v5.005_03 built for i386-freebsd

=item * Linux

with perl v5.005_03 built for ppc-linux

=item * Solaris 2.6 (SPARC)

with perl5.6.1 built for sun4-solaris.

with perl5.004_04 built for sun4-solaris.

Solaris2.6上のperl5.004_04は I<make test>で失敗しますが使用することが
できます。

=back


=head1 LIMITATION

=over 4

=item * 一部のFreeBSDでは'crypt'認証は使用できません。

=item * 'Kerberos v4/5'認証は使用できません。

=item * SSL接続は使用できません。

=item * BLOBデータを扱うことはできません。

=back


=head1 DEPENDENCIES

このモジュールは次のモジュールを必要とします:

  L<DBI>, L<IO::Socket>


=head1 TODO

=over 4

=item * Pure perlのDESベースのcrypt関数を追加する

=item * Authen::Krb4 & Authen::Krb5を使用してKerberos v4/5認証をサポートする

=item * IO::Socket::SSL(またはNet::SSLeay)を使用してSSL接続をサポートする

=item * BLOBデータををサポートする

=back

=head1 SEE ALSO

L<DBI>, L<http://developer.postgresql.org/docs/postgres/protocol.html>

=head1 AUTHOR

Hiroyuki OYAMA E<lt>oyama@module.jpE<gt>

=head1 COPYRIGHT AND LICENCE

Copyright (C) 2004 Hiroyuki OYAMA. Japan. All rights reserved.

This library is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.

=cut
