The pathces and a prototype tool to manipulate the ``flat password file
'' functionality of PostgreSQL6.1
1. File
Makefile
pg_passwd.c           the source file of the tool.
2. How to specify pasword files and their format.
Specify the password file in the same style of Ident authentication in
$PGDATA/pg_hba.conf
host  unv     133.65.96.250   255.255.255.255 password passwd
The above line allows access from 133.65.96.250 using the passwords listed
in $PGDATA/passwd.
The format of the password files follows those of /etc/passwd and
/etc/shadow: the first field is the user name, and  the second field
is the encrypted password.  The rest is completely ignored.  Thus
the following three sample lines specify the same user and password pair:.
pg_guest:/nB7.w5Auq.BY:10031::::::
pg_guest:/nB7.w5Auq.BY:93001:930::/home/guest:/bin/tcsh
pg_guest:/nB7.w5Auq.BY:93001
Note that the original src/backend/libpq/password.c has a bug, which
disallows the first and the second format.  If you want to use these
formats, please make sure you've applied the patch accompanied with
this tool.
3. Usage of pg_passwd
Supply the password file to the pg_passwd command.   In the case described
above, after ``cd'ing to $PGDATA,  the following command execution specify
the new password for pg_guest:
% pg_passwd passwd
Username: pg_guest
Password:
Re-enter password:
where the Password: and Re-enter password: prompts require the same
password input which are not displayed on the terminal.
The original password file is renamed to ``passwd.bk''.
4. How to specify pasasword authentication
You can use the password authentication fro psq, perl, or pg{tcl,tk}sh.
4.1 psql
Use the -u option.  Note that the original distribution includes a bug.
Please make sure you've applied the patch distributed with this tool.
The following lines show the sample usage of the option:
% psql -h hyalos -u unv
Username: pg_guest
Password:
Welcome to the POSTGRESQL interactive sql monitor:
  Please read the file COPYRIGHT for copyright terms of POSTGRESQL
   type \? for help on slash commands
   type \q to quit
   type \g or terminate with semicolon to execute query
 You are currently connected to the database: unv
unv=>
4.2 perl5
Use the new style of the Pg.pm like this
$conn = Pg::connectdb("host=hyalos authtype=password dbname=unv
                       user=pg_guest password=xxxxxxx");
For more details, the users refer to to ``src/pgsql_perl5/Pg.pm''.
4.3 pg{tcl,tk}sh
Use the pg_connect comamnd with -conninfo option thus
% set conn [pg_connect -conninfo \
        "host=hyalos authtype=password dbname=unv \
         user=pg_guest password=xxxxxxx "]
Use can list all of the keys for the option by executing the following
command:
% puts [ pg_conndefaults]
5. Acknowledgment
Mr. Ishii, SRA, pointed out the original bugs in the tool.  He also
supplied the Makefile for this distribution.
-------------------------------------------------------------------------
July 2, 1997
Yoshihiko Ichikawa, Dept of Info Sci, Fac of Sci, Ochanomizu University
E-mail: ichikawa@is.ocha.ac.jp

PostgreSQL Data Base Management System (formerly known as Postgres, then
as Postgres95).
  
This directory contains the version 6.1 release of the PostgreSQL
database server.  The server is not ANSI SQL compliant, but it gets
closer with every release.  After you unzip and untar the distribution
file, look at file INSTALL for the installation notes and file HISTORY
for the changes.

The latest version of this software may be obtained at
ftp://ftp.postgresql.org/pub/.  For more information look at our WWW
home page located at http://www.postgreSQL.org/.

PostgreSQL is not public domain software.  It is copyrighted by the
University of California but may be used according to the licensing
terms of the the copyright below:

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

POSTGRES95 Data Base Management System (formerly known as Postgres, then
as Postgres95).

Copyright (c) 1994-7 Regents of the University of California

Permission to use, copy, modify, and distribute this software and its
documentation for any purpose, without fee, and without a written agreement
is hereby granted, provided that the above copyright notice and this
paragraph and the following two paragraphs appear in all copies.

IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR
DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING
LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS
DOCUMENTATION, EVEN IF THE UNIVERSITY OF CALIFORNIA HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.

THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS
ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATIONS TO
PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.

