PostgreSQL Qs

Поиск
Список
Период
Сортировка
От Jon Earle
Тема PostgreSQL Qs
Дата
Msg-id Pine.LNX.4.53.0305071232370.25576@kronos.honk.org
обсуждение исходный текст
Ответы Re: PostgreSQL Qs  (Richard Huxton <dev@archonet.com>)
Re: PostgreSQL Qs  (Jonathan Bartlett <johnnyb@eskimo.com>)
Re: PostgreSQL Qs  (Karsten Hilbert <Karsten.Hilbert@gmx.net>)
Список pgsql-general
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;


В списке pgsql-general по дате отправления:

Предыдущее
От: "Fontenot, Paul"
Дата:
Сообщение: Creating functions and triggers
Следующее
От: Richard Huxton
Дата:
Сообщение: Re: PostgreSQL Qs