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
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin pgsql-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

Browse pgsql-admin by date

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

Browse pgsql-es-ayuda by date

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