Re: New role, no database

From: Scott Marlowe <scott(dot)marlowe(at)gmail(dot)com>
To: Melvin Call <melvincall979(at)gmail(dot)com>
Cc: "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: Re: New role, no database
Date: 2013-05-24 01:29:02
Message-ID: CAOR=d=2mvLp8OK_Qf2MnmPM7pPMbUFtA43ZT3mVrq4vNQJKd4Q@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Thu, May 23, 2013 at 3:38 PM, Melvin Call <melvincall979(at)gmail(dot)com> wrote:
> On 5/23/13, Scott Marlowe <scott(dot)marlowe(at)gmail(dot)com> wrote:
>> On Thu, May 23, 2013 at 3:01 PM, Melvin Call <melvincall979(at)gmail(dot)com>
>> wrote:
>>> Hello,
>>>
>>> I have a question for which I am unable to find an answer in the
>>> documentation, if y'all don't mind, I will ask here and hope for an
>>> answer.
>>>
>>> After installing PostgreSQL and logging in as the admin user of
>>> postgres, I have created a new user with the CREATEDB privilege. How
>>> does that user log in for the first time to create a DB? Am I required
>>> to create a default user DB when I create the user, or is there a way
>>> to log in with no default DB?
>>
>> The default db is your username, so they can just run "createdb" with
>> no arguments. That will create a db as their unix username. For
>> instance if you create a user named "smarlowee" adn that's their unix
>> username then they can just run createdb and it will create a db named
>> smarlowe for them.
>>
> Thanks Scott. That seems like it would work too, but then I have an
> unused database laying around, don't I? I realize the resources are
> minuscule, but I don't like having things on production systems that
> don't need to be there if I can help it.
>
> Out of curiosity, what would be the proper steps if there was no
> CREATEDB privilege for the role? I'm creating a user that will have
> all of the create privileges (which prompted my first question), and I
> expect to create another user that just has just the minimal
> privileges necessary for that database. Obviously the minimal user
> will have the admin created DB to connect to, so my question may be
> moot, eh?

Ahh let's say your user is supposed to connect to a database called
work all the time. Then he could do this:

psql work

if you don't want them to have to type that in all the time, then you
can add this to .bashrc:

export PGDATABASE=work

and then psql will just take them straight to work each time without a
db argument to it.

Hope that helps.

In response to

Browse pgsql-general by date

  From Date Subject
Next Message 高健 2013-05-24 02:50:45 There are many processes created and died frequently during PostgreSQl idle
Previous Message Sergey Konoplev 2013-05-23 23:49:57 Re: Find all the the SELECT statements that occured