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 по дате отправления: