Search Postgresql Archives

Re: Fwd: Restarting with pg_ctl, users, and passwords.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



 -------------- Original message ----------------------
From: "Matthew Pettis" <matthew.pettis@xxxxxxxxx>
> Below is the pg_hba.conf file exerpt (minus a lot of comments)... the
> line starting '#host' was my attempt at opening up the db as wide as
> possible just to see if i could get in somehow...
> 
> 
> --- pg_hba.conf --------------------------------------
> # Database administrative login by UNIX sockets
> local   all         postgres                          ident sameuser

The line above is the reason you have to specify localhost in your connection string.
From:
http://www.postgresql.org/docs/8.3/interactive/auth-pg-hba-conf.html
Each record specifies a connection type, a client IP address range (if relevant for the connection type), a database name, a user name, and the authentication method to be used for connections matching these parameters. The first record with a matching connection type, client address, requested database, and user name is used to perform authentication. There is no "fall-through" or "backup": if one record is chosen and the authentication fails, subsequent records are not considered. If no record matches, access is denied.

Unless you are logged in as the OS user postgres and connecting as such the local line will fail and the connection will be aborted. To skip over the local line and get the host line you have  specify localhost in your connection string.

> 
> # TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD
> 
> # "local" is for Unix domain socket connections only
> local   all         all                               ident sameuser
> # IPv4 local connections:
> host    all         all         127.0.0.1/32          md5
> #host    all         all         127.0.0.1/32          trust
> # IPv6 local connections:
> host    all         all         ::1/128               md5
> --------------------------------------------------------------------------------
> ----------
> 
> On Wed, Aug 20, 2008 at 3:32 PM, Adrian Klaver <aklaver@xxxxxxxxxxx> wrote:
> > -------------- Original message ----------------------
> > From: "Matthew Pettis" <matthew.pettis@xxxxxxxxx>
> >> SOLVED.
> >>
> >> Yep, Restart was done.
> >>
> >> The issue turned out not to be with Postgresql config, but the app
> >> config.  In the app, I define a connection string, which has user,
> >> password, and databasename.  When I had this same configuration on
> >> WinXP, I did not need to specify a fourth parameter, the host, which
> >> explicitly told the app to use host=localhost.  When I added the host
> >> param to the connection string, it all went through.
> >>
> >> On the bright side, I learned a lot about how to restart the service
> >> and the config files...
> >>
> >> Curious: Any ideas why I can leave the host off my connection string
> >> in WinXP, but not Linux?  It it an idiosyncracy of my app, or of
> >> PostgreSQL?
> >>
> >> Thanks for all the help,
> >> Matt
> >>
> > Is the Linux app running on the Postgres server machine?
> > If so I hazard a guess that you have a line like:
> >
> > local   all         all                               trust
> >
> > before your host line in pg_hba.
> >
> > The app connecting from the same machine would try the local socket (local) 
> before the localhost(tcp/ip), unless localhost was specified in the connection 
> string.
> >
> >
> >
> > --
> > Adrian Klaver
> > aklaver@xxxxxxxxxxx
> >
> >
> >
> 
> 



--
Adrian Klaver
aklaver@xxxxxxxxxxx



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux