Re: PostgreSQL DBI DBD::Pg Access Problem

Поиск
Список
Период
Сортировка
От Rob Arnold
Тема Re: PostgreSQL DBI DBD::Pg Access Problem
Дата
Msg-id 001601c18c90$91c4fd30$4901010a@canrion.net
обсуждение исходный текст
Ответ на PostgreSQL DBI DBD::Pg Access Problem  (Samizdatt <Samizdatt@earthlink.net>)
Список pgsql-general
Have you granted (in Postgres) rights to the accounts so that they can read
tables a such?  Everything else appears to be fine.  Yes, if you can connect
via psql then the only thing that should change in the DBI connect string is
the username parameter.

I'm assuming your DBI line looks something like this:

my $dbh =
DBI->connect('dbi:pg:dbname=YOURDBNAME;host=localhost','wwwrun','PASSWORD');

NOTE: You can probably leave off the ';host=localhost' part.  I think doing
so will make a native UNIX socket connection rather than an INET socket
connection.  You might try it both ways.

--rob

----- Original Message -----
From: "Samizdatt" <Samizdatt@earthlink.net>
To: <pgsql-general@postgresql.org>
Sent: Sunday, December 23, 2001 8:31 PM
Subject: PostgreSQL DBI DBD::Pg Access Problem


>
> *************** Configuration Info ******************
> I'm using:
>
> SuSE PPC Linux v7.3 on an Apple iBook
> PostgreSQL v7.1.3
> Perl v5.6.1
> DBI v1.20
> DBD::Pg v1.01
> Apache v1.3.20
> Apache DBI v0.88
>
> I created 2 users in addition to postgres with the createuser command.
These users have actual corresponding accounts on the system.
>
> (1)postgres - can create users and databases
> (2)root - can create databases
> (3)wwwrun - is just the web server account that can neither create
databases nor users
>
> I modified the pg_hba.conf to temporarily allow connections from all users
on the box by adding the following lines to the file:
>
> local all trust
> host all 127.0.0.1 255.255.255.255 trust
> host all 10.10.10.50 255.255.255.255 trust
>
> Postmaster runs as "/usr/bin/postmaster -i -B 512 -D/var/lib/pgsql/data"
> ******************************************************
>
>
> *************** Problem ******************************
>
> I can connect to any of the PostgreSQL databases through any of the 3 user
accounts using psql, but I can only connect to the databases with my web
server cgi & command line Perl DBI/DBD::Pg applications by including
"postgres" as the user in my DBI database handles. I'd like to be able to
connect to the databases using the wwwrun user account that is restricted
from creating both users and databases in my DBI based applications and cgi
scripts.
>
> Since the pg_hba.conf is set to allow any user with an account in the
PostgreSQL database to connect from my box, and I can connect to any of the
databases through any of the 3 accounts using psql, shouldn't my DBI based
cgi & command line Perl applications be able to connect to the same
databases using any of the 3 postgres user accounts I created using
createuser? Now, only including "postgres" as the user in my DBI/DBD::Pg
database handles allows my cgi & command line programs to access my
PostgreSQL databases.
> *****************************************************
>
> Thank you for any assistance.
>


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

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: postgres 7.1on Mac OS 10.1
Следующее
От: "Gregory Wood"
Дата:
Сообщение: Re: simple query question