PostgreSQL Qs

From: Jon Earle <je_pgsql(at)kronos(dot)honk(dot)org>
To: pgsql-general(at)postgresql(dot)org
Subject: PostgreSQL Qs
Date: 2003-05-07 16:35:43
Message-ID: Pine.LNX.4.53.0305071232370.25576@kronos.honk.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-sql

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;

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Richard Huxton 2003-05-07 17:32:22 Re: PostgreSQL Qs
Previous Message Fontenot, Paul 2003-05-07 16:32:28 Creating functions and triggers

Browse pgsql-sql by date

  From Date Subject
Next Message Wei Weng 2003-05-07 16:47:52 index defragmentation
Previous Message Achilleus Mantzios 2003-05-07 16:33:24 An unresolved performance problem.