Skip site navigation (1) Skip section navigation (2)

Re: How to create a new user with password in commandline with no prompt for password

From: Shane Ambler <pgsql(at)Sheeky(dot)Biz>
To: Rajiv Rajaian <rajiv(dot)pgsql(at)gmail(dot)com>
Cc: pgsql-admin(at)postgresql(dot)org
Subject: Re: How to create a new user with password in commandline with no prompt for password
Date: 2008-02-20 08:06:16
Message-ID: 47BBDF78.7070801@Sheeky.Biz (view raw or flat)
Thread:
Lists: pgsql-adminpgsql-es-ayuda
Rajiv Rajaian wrote:
> Hi all
> Im using postgresql-8.0.3-1.
> I need to create a new user in postgresql with password ..But it should not
> prompt me to get the password ..ie only through command line I've to give
> the password as input
> Steps i had done are as follows
> 
> [root(at)g151 ~]# su postgres -c "createuser -A -d  globus"
> could not change directory to "/root"
> CREATE USER

For adding a user in SQL with a password you can use -
CREATE ROLE name WITH [ ENCRYPTED | UNENCRYPTED ] PASSWORD 'password';

Using that from the command line you can -
echo "CREATE ROLE name....." | psql -U postgres
to bypass the password prompt.

> [root(at)g151 ~]# su globus -c "createdb rftDatabase"
> could not change directory to "/root"
> CREATE DATABASE
 >
 >
> Also in /var/lib./pgsql/data/pg_hba.conf I ve added the entry as
> 
> host    rftDatabase     "globus"        "172.16.10.151"  255.255.255.0   md5
> 
> Now when i tried to login to that database I got the following error
> 
> [root(at)g151 ~]# psql -U globus -d rftdatabase
> psql: FATAL:  Ident authentication failed for user "globus"

Your pg_hba.conf line above says a password must be used.
You can add a line with your no password account using trust to get past 
that.

The other way around that is to use a .pgpass file in your local home 
dir. http://www.postgresql.org/docs/8.3/interactive/libpq-pgpass.html 
for more detail.

> Also with password promt it was prompting password ..But I haven't created
> the user with password
>  [root(at)g151 ~]# psql -U globus -d rftdatabase -W
> Password:
 >
> 
> Is it possible to create any new user in postgresql with password through
> command line and with no prompt for password.??Is there any option in
> Postgresql?
> Also  if  I create  a new user with su postgres -c "createuser -A -d
> globus" .Will it set any default password while creating the user ??

No password is stored unless you specify it.


As much as these are ways around your inconveniences, you should also 
consider the security implications of using them.


-- 

Shane Ambler
pgSQL (at) Sheeky (dot) Biz

Get Sheeky @ http://Sheeky.Biz

In response to

Responses

pgsql-admin by date

Next:From: Rajiv RajaianDate: 2008-02-20 09:15:50
Subject: Re: How to create a new user with password in commandline with no prompt for password
Previous:From: Rajiv RajaianDate: 2008-02-20 07:30:40
Subject: How to create a new user with password in commandline with no prompt for password

pgsql-es-ayuda by date

Next:From: Jose Maria Mencia FernandezDate: 2008-02-20 08:20:50
Subject: Re: tsearch2 vs. like
Previous:From: Rajiv RajaianDate: 2008-02-20 07:30:40
Subject: How to create a new user with password in commandline with no prompt for password

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group