Thread: .pgpass being ignored

.pgpass being ignored

From
Stephen Rasku
Date:
I am trying to write a script that will create and populate a
database.  I don't want to enter a password every time so I want to
use a .pgpass file.  It has the correct permissions:

    $ ls -l $PGPASSFILE
    -rw-------  1 Stephen  staff  43 21 Jun 14:48 /Users/Stephen/.pgpass

However, when I call createdb, it fails:

    $ createdb -h 192.168.1.4 -U postgres --no-password JobSearch
    createdb: could not connect to database postgres: fe_sendauth: no
password supplied

This is the contents of my .pgpass file:

    192.168.1.4:5432:DatabaseName:postgres:thisIsTheCorrectPassword

If I omit the --no-password option it will prompt me for a password
and the command will succeed.  I am using 9.0.10 from MacPorts.

What am I doing wrong?

...Stephen


Re: .pgpass being ignored

From
Ziggy Skalski
Date:
On 13-06-21 06:19 PM, Stephen Rasku wrote:
> I am trying to write a script that will create and populate a
> database.  I don't want to enter a password every time so I want to
> use a .pgpass file.  It has the correct permissions:
>
>      $ ls -l $PGPASSFILE
>      -rw-------  1 Stephen  staff  43 21 Jun 14:48 /Users/Stephen/.pgpass
>
> However, when I call createdb, it fails:
>
>      $ createdb -h 192.168.1.4 -U postgres --no-password JobSearch
>      createdb: could not connect to database postgres: fe_sendauth: no
> password supplied
>
> This is the contents of my .pgpass file:
>
>      192.168.1.4:5432:DatabaseName:postgres:thisIsTheCorrectPassword
>
> If I omit the --no-password option it will prompt me for a password
> and the command will succeed.  I am using 9.0.10 from MacPorts.
>
> What am I doing wrong?
>
> ...Stephen
>
>

Hi,

Just going from a personal experience, have you tried to open the
.pgpass file in vi and made sure there's no trailing spaces in your
pgpass entry?  That bit me once before :)

Ziggy



Re: .pgpass being ignored

From
Rebecca Clarke
Date:
I could be wrong, but shouldn't the owner of .pgpass be postgres?


On Mon, Jun 24, 2013 at 3:17 PM, Ziggy Skalski <zskalski@afilias.info> wrote:
On 13-06-21 06:19 PM, Stephen Rasku wrote:
I am trying to write a script that will create and populate a
database.  I don't want to enter a password every time so I want to
use a .pgpass file.  It has the correct permissions:

     $ ls -l $PGPASSFILE
     -rw-------  1 Stephen  staff  43 21 Jun 14:48 /Users/Stephen/.pgpass

However, when I call createdb, it fails:

     $ createdb -h 192.168.1.4 -U postgres --no-password JobSearch
     createdb: could not connect to database postgres: fe_sendauth: no
password supplied

This is the contents of my .pgpass file:

     192.168.1.4:5432:DatabaseName:postgres:thisIsTheCorrectPassword

If I omit the --no-password option it will prompt me for a password
and the command will succeed.  I am using 9.0.10 from MacPorts.

What am I doing wrong?

...Stephen



Hi,

Just going from a personal experience, have you tried to open the .pgpass file in vi and made sure there's no trailing spaces in your pgpass entry?  That bit me once before :)

Ziggy




--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Re: .pgpass being ignored

From
Jan Wieck
Date:
On 06/24/13 10:24, Rebecca Clarke wrote:
> I could be wrong, but shouldn't the owner of .pgpass be postgres?

The owner of ~/.pgpass is whoever owns ~ (the home directory of that user).

And ~/.pgpass must have permissions 0600 in order for libpq to actually
use it.


Jan


>
>
> On Mon, Jun 24, 2013 at 3:17 PM, Ziggy Skalski <zskalski@afilias.info
> <mailto:zskalski@afilias.info>> wrote:
>
>     On 13-06-21 06:19 PM, Stephen Rasku wrote:
>
>         I am trying to write a script that will create and populate a
>         database.  I don't want to enter a password every time so I want to
>         use a .pgpass file.  It has the correct permissions:
>
>              $ ls -l $PGPASSFILE
>              -rw-------  1 Stephen  staff  43 21 Jun 14:48
>         /Users/Stephen/.pgpass
>
>         However, when I call createdb, it fails:
>
>              $ createdb -h 192.168.1.4 -U postgres --no-password JobSearch
>              createdb: could not connect to database postgres:
>         fe_sendauth: no
>         password supplied
>
>         This is the contents of my .pgpass file:
>
>
>          192.168.1.4:5432:DatabaseName:__postgres:__thisIsTheCorrectPassword
>
>         If I omit the --no-password option it will prompt me for a password
>         and the command will succeed.  I am using 9.0.10 from MacPorts.
>
>         What am I doing wrong?
>
>         ...Stephen
>
>
>
>     Hi,
>
>     Just going from a personal experience, have you tried to open the
>     .pgpass file in vi and made sure there's no trailing spaces in your
>     pgpass entry?  That bit me once before :)
>
>     Ziggy
>
>
>
>
>     --
>     Sent via pgsql-general mailing list (pgsql-general@postgresql.org
>     <mailto:pgsql-general@postgresql.org>)
>     To make changes to your subscription:
>     http://www.postgresql.org/__mailpref/pgsql-general
>     <http://www.postgresql.org/mailpref/pgsql-general>
>
>


--
Anyone who trades liberty for security deserves neither
liberty nor security. -- Benjamin Franklin


Re: .pgpass being ignored

From
Frank Broniewski
Date:
>>          However, when I call createdb, it fails:
>>
>>               $ createdb -h 192.168.1.4 -U postgres --no-password JobSearch
>>               createdb: could not connect to database postgres:
>>          fe_sendauth: no
>>          password supplied
>>

Hi,

isn't your --no-password switch preventing this? I never use this switch
and my .pgpass is used by shell scripts and other programs ...


Frank


--
Frank BRONIEWSKI

METRICO s.à r.l.
géomètres
technologies d'information géographique
rue des Romains 36
L-5433 NIEDERDONVEN

tél.: +352 26 74 94 - 28
fax.: +352 26 74 94 99
http://www.metrico.lu


Re: .pgpass being ignored

From
Adrian Klaver
Date:
On 06/24/2013 11:36 PM, Frank Broniewski wrote:
>>>          However, when I call createdb, it fails:
>>>
>>>               $ createdb -h 192.168.1.4 -U postgres --no-password
>>> JobSearch
>>>               createdb: could not connect to database postgres:
>>>          fe_sendauth: no
>>>          password supplied
>>>
>
> Hi,
>
> isn't your --no-password switch preventing this? I never use this switch
> and my .pgpass is used by shell scripts and other programs ...

http://www.postgresql.org/docs/9.2/interactive/app-createdb.html

-w
--no-password
Never issue a password prompt. If the server requires password
authentication and a password is not available by other means such as a
.pgpass file, the connection attempt will fail. This option can be
useful in batch jobs and scripts where no user is present to enter a
password.



>
>
> Frank
>
>


--
Adrian Klaver
adrian.klaver@gmail.com


Re: .pgpass being ignored

From
Magnus Hagander
Date:
On Sat, Jun 22, 2013 at 12:19 AM, Stephen Rasku <srasku@gmail.com> wrote:
> I am trying to write a script that will create and populate a
> database.  I don't want to enter a password every time so I want to
> use a .pgpass file.  It has the correct permissions:
>
>     $ ls -l $PGPASSFILE
>     -rw-------  1 Stephen  staff  43 21 Jun 14:48 /Users/Stephen/.pgpass
>
> However, when I call createdb, it fails:
>
>     $ createdb -h 192.168.1.4 -U postgres --no-password JobSearch
>     createdb: could not connect to database postgres: fe_sendauth: no
> password supplied
>
> This is the contents of my .pgpass file:
>
>     192.168.1.4:5432:DatabaseName:postgres:thisIsTheCorrectPassword
>
> If I omit the --no-password option it will prompt me for a password
> and the command will succeed.  I am using 9.0.10 from MacPorts.
>
> What am I doing wrong?

From the error message, the failure is to connect to the database
"postgres". Your .pgpass only has an entry for database
"DatabaseName".

createdb will connect to "postgres" and issue the CREATE DATABASE
command there. You can change tihs with the parameter
--maintenance-db, but tat was added in 9.2 only. But even so, createdb
must connect to an *existing* database in order to issue the CREATE
DATABASE command, so you need a line in .pgpass for whichever
maintenance db you're using.

(also, you should really upgrade to 9.0.13, though that won't change
this specific case)

--
 Magnus Hagander
 Me: http://www.hagander.net/
 Work: http://www.redpill-linpro.com/


Re: .pgpass being ignored

From
Granthana
Date:

In case someone is facing the same problem again, solution is to add * in
.pgpass in place of ip address.





--
View this message in context: http://postgresql.1045698.n5.nabble.com/pgpass-being-ignored-tp5760421p5815268.html
Sent from the PostgreSQL - general mailing list archive at Nabble.com.