Обсуждение: db connection fails

Поиск
Список
Период
Сортировка

db connection fails

От
Mark Tessier
Дата:
I get a script error when trying to connect to postgres. It fails in the following part of the script:

PgDatabase conn ("host=localhost dbname=group3");

if (conn.ConnectionBad())
{
    ...
}

/var/log/messages shows

authentication failure; logname=capmag uid=502 euid=0 tty= ruser = rhost= user=postgres

As "capmag" user with DBCREATE privileges, created db called group3. As I'm accessing group3 via html and C++ script in
cgi-bin,I've created a user named "apache" with grant all priviledges in group3. 


Mark



Re: db connection fails

От
"Nick Fankhauser"
Дата:
Mark -

A few random thoughts-

When we installed Apache, the user it ran under by default was "www-data".
Are you sure it is running using "apache"?

Have you tried doing a network connection with your "apache" user? (su -
apache; psql -h localhost group3.)

Log file locations may vary by OS flavor, but in Debian, you can find a log
in /var/log/postresql.log. You may have to turn on logging in
postgresql.conf.

-Nick

--------------------------------------------------------------------------
Nick Fankhauser  nickf@ontko.com  Phone 1.765.935.4283  Fax 1.765.962.9788
Ray Ontko & Co.     Software Consulting Services     http://www.ontko.com/

> -----Original Message-----
> From: pgsql-admin-owner@postgresql.org
> [mailto:pgsql-admin-owner@postgresql.org]On Behalf Of Mark Tessier
> Sent: Saturday, June 29, 2002 2:41 PM
> To: pgsql-admin@postgresql.org
> Subject: [ADMIN] db connection fails
>
>
> I get a script error when trying to connect to postgres. It fails
> in the following part of the script:
>
> PgDatabase conn ("host=localhost dbname=group3");
>
> if (conn.ConnectionBad())
> {
>     ...
> }
>
> /var/log/messages shows
>
> authentication failure; logname=capmag uid=502 euid=0 tty= ruser
> = rhost= user=postgres
>
> As "capmag" user with DBCREATE privileges, created db called
> group3. As I'm accessing group3 via html and C++ script in
> cgi-bin, I've created a user named "apache" with grant all
> priviledges in group3.
>
>
> Mark
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 2: you can get off all lists at once with the unregister command
>     (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)
>
>




Re: db connection fails

От
"Nick Fankhauser"
Дата:
> > Have you tried doing a network connection with your "apache" user? (su -
> > apache; psql -h localhost group3.)
>
> Yes, I've tried it and get the following:
>
> psql: could not connect to server: Connection refused
>     Is the server running on host 192.168.1.2 and accepting
>     TCP/IP connections on port 5432?


This is a useful clue. It suggests that your code may be fine and that the
problem is in the networking or authentication setup. (You're using TCP/IP
even if you are on the same box.)

If you haven't already done so, take a look at your pg_hba.conf file. Info
on how to set it up can be found here:

http://www.postgresql.org/idocs/index.php?client-authentication.html

-Nick

--------------------------------------------------------------------------
Nick Fankhauser  nickf@ontko.com  Phone 1.765.935.4283  Fax 1.765.962.9788
Ray Ontko & Co.     Software Consulting Services     http://www.ontko.com/




Re: db connection fails

От
"Nick Fankhauser"
Дата:
Mark-

If you're on version 7.1 or higher, the proffered way to turn on tcp/ip is
to add "tcpip_socket=true" to postgresql.conf in the data directory. (Then
restart.) Details are here:
http://www.postgresql.org/idocs/index.php?runtime-config.html

Regards,

-Nick

> -----Original Message-----
> From: Mark Tessier [mailto:mt@open2web.com]
> Sent: Tuesday, July 02, 2002 1:27 PM
> To: Nick Fankhauser
> Cc: pgsql-admin@postgresql.org
> Subject: Re: [ADMIN] db connection fails
>
>
> > > > Have you tried doing a network connection with your
> "apache" user? (su -
> > > > apache; psql -h localhost group3.)
> > >
> > > Yes, I've tried it and get the following:
> > >
> > > psql: could not connect to server: Connection refused
> > >     Is the server running on host 192.168.1.2 and accepting
> > >     TCP/IP connections on port 5432?
>
> > This is a useful clue. It suggests that your code may be fine
> and that the
> > problem is in the networking or authentication setup. (You're
> using TCP/IP
> > even if you are on the same box.)
> >
> > If you haven't already done so, take a look at your pg_hba.conf
> file. Info
> > on how to set it up can be found here:
> >
> I've done so and find the following:
>
>  # TYPE     DATABASE    IP_ADDRESS    MASK
> AUTH_TYPE  AUTH_ARGUMENT
>
> local      all                                          trust
> host       all         127.0.0.1     255.255.255.255    trust
>
> This means I should already be able to connect, although it's
> stated that "TCP/IP connections are completely disabled unless
> the server is started with the -i switch or the equivalent
> configuration parameter is set."
>
> So, how do I restart postgres with the -i switch set, and is
> there a conf file to modify so that postgres starts up with the
> -i switch set when I turn on the machine?  Normally I restart
> postgres like this
>
> /etc/rc.d/init.d/postgresql restart
>
> --
> Thanks,
>
> Mark
>




Re: db connection fails

От
Mark Tessier
Дата:
> > > Have you tried doing a network connection with your "apache" user? (su -
> > > apache; psql -h localhost group3.)
> >
> > Yes, I've tried it and get the following:
> >
> > psql: could not connect to server: Connection refused
> >     Is the server running on host 192.168.1.2 and accepting
> >     TCP/IP connections on port 5432?

> This is a useful clue. It suggests that your code may be fine and that the
> problem is in the networking or authentication setup. (You're using TCP/IP
> even if you are on the same box.)
>
> If you haven't already done so, take a look at your pg_hba.conf file. Info
> on how to set it up can be found here:
>
I've done so and find the following:

 # TYPE     DATABASE    IP_ADDRESS    MASK               AUTH_TYPE  AUTH_ARGUMENT

local      all                                          trust
host       all         127.0.0.1     255.255.255.255    trust

This means I should already be able to connect, although it's stated that "TCP/IP connections are completely disabled
unlessthe server is started with the -i switch or the equivalent configuration parameter is set." 

So, how do I restart postgres with the -i switch set, and is there a conf file to modify so that postgres starts up
withthe -i switch set when I turn on the machine?  Normally I restart postgres like this 

/etc/rc.d/init.d/postgresql restart

--
Thanks,

Mark