Re: createuser: How to specify a database to connect to

From: Guillaume Lelarge <guillaume(at)lelarge(dot)info>
To: Schmid Andreas <Andreas(dot)Schmid(at)bd(dot)so(dot)ch>
Cc: "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: Re: createuser: How to specify a database to connect to
Date: 2017-03-13 15:44:19
Message-ID: CAECtzeWSiuL3DTfra1acXXGS8-nc_HOaUQfW4T2rX80n+4fpEw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

2017-03-13 16:29 GMT+01:00 Schmid Andreas <Andreas(dot)Schmid(at)bd(dot)so(dot)ch>:

> Hi
>
> I'm trying to add a new DB user with the following command from my client
> machine:
> createuser -h my.host.name -U mysuperusername --pwprompt newusername
>
> I'm getting the following message:
> createuser: could not connect to database postgres: FATAL: no pg_hba.conf
> entry for host "10.0.0.1", user "mysuperusername", database "postgres", SSL
> on
>
> Now, it's true that our pg_hba.conf doesn't allow access to the postgres
> database. We did this intentionally, as usually no one needs to connect to
> this database.
>
> So I tried to do
> export PGDATABASE=sogis
> before the createuser command. But no success. Does anyone know of another
> way to achieve what I'm trying?
>
> I whish to do it with createuser rather than with the SQL command CREATE
> USER because this way I can avoid the password for the new user to show up
> anywhere in the history.
>
> I'm on 9.2 on Ubuntu 14.04.
>
>
You can't. The createuser.c code specifically targets the "postgres"
database, which surprises me. Anyway, the only other way to do it is to use
psql, something like: psql -c "CREATE USER..." -h ... your_database

--
Guillaume.
http://blog.guillaume.lelarge.info
http://www.dalibo.com

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2017-03-13 15:52:29 Re: createuser: How to specify a database to connect to
Previous Message Schmid Andreas 2017-03-13 15:29:48 createuser: How to specify a database to connect to