From: Jon Earle <je_pgsql@kronos.honk.org>
To: pgsql-general@postgresql.org
Subject: PostgreSQL Qs
Date: Wed, 7 May 2003 12:35:43 -0400 (EDT)
Message-ID: <Pine.LNX.4.53.0305071232370.25576@kronos.honk.org> (raw)
Hey folks,
I've been trying to figure out the user authentication stuff in
PostgreSQL, and am finding it more confusing than mysql.
My system runs Debian, I installed postgresql from apt. It seemed to
proceed correctly (no errors were tossed my way). As user postgres, I
created the db and table structure. Again, seemed to proceed correctly.
I changed /etc/postgresql/pg_hba.conf to:
local all md5
host all 127.0.0.1 255.0.0.0 md5
host dbname 0.0.0.0 255.255.255.255 md5
Then, I went to add the DBD-Pg module for Perl (compiled from scratch).
I set the env vars:
export DBI_DSN=dbi:Pg:dbname=template1
export DBI_USER=postgres
export DBI_PASS=xxxxxx
Then I ran 'make test'. I got a lot of:
..
t/99cleanup.........DBI connect('dbname=template1','postgres',...) failed:
FATAL 1: Password authentication failed for user "postgres" at
t/99cleanup.t line 11
..
Changing AUTH_TYPE from 'md5' to 'password' gives the same error. The
only way I can get anything to run (the test scripts or the script below)
is to change the AUTH_TYPE to 'trust' (Note: I can run the script below as
user postgres if I leave the AUTH_TYPE and AUTH_ARGUMENT as the default
values [ident and sameuser], but, since I don't run an ident server, this
doesn't make sense to me.) Obviously, I don't want to leave the AUTH_TYPE
as trust, but I'm not sure what I need to do to get a username/password
combo to work (particularly within a perl script using DBI [When I tested
this using mysql, I had it working and found it much simpler].
Could someone explain or give me a link to a doc that explains what is
going on as far as user authentication is concerned? Actually, a basic
howto guide for PGSQL would be most helpful for many things.
Cheers!
Jon
Test Script (from O'Reilly's Programming the Perl DBI):
#!/usr/bin/perl -w
use DBI;
my @drivers = DBI->available_drivers();
die "No drivers.\n" unless @drivers;
foreach my $driver (@drivers) {
print "Driver: $driver\n";
my @datasources = DBI->data_sources($driver);
foreach my $datasource (@datasources) {
print "\tData source is $datasource\n";
}
print "\n";
}
exit;
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-sql@postgresql.org
Cc: je_pgsql@kronos.honk.org, pgsql-general@postgresql.org
Subject: Re: PostgreSQL Qs
In-Reply-To: <Pine.LNX.4.53.0305071232370.25576@kronos.honk.org>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox