Re: Restrict user to create only one db with a specific name - Mailing list pgsql-general

From Paul Förster
Subject Re: Restrict user to create only one db with a specific name
Date
Msg-id 46FDE202-6795-42F4-929C-F950FFB9669A@gmail.com
Whole thread Raw
In response to Re: Restrict user to create only one db with a specific name  (Tiffany Thang <tiffanythang@gmail.com>)
List pgsql-general
Hi Tiff,

note that there is an absurd high maximum of databases possible inside a PostgreSQL database cluster. I think, the
maximumis 4,294,950,911 but I'm sure you don't get that many users or databases anyway. ;-) 

Cheers,
Paul

> On 07. Mar, 2020, at 23:35, Tiffany Thang <tiffanythang@gmail.com> wrote:
>
> Thanks David and Paul. Because each user wants the ability to drop and recreate their own databases, I want to impose
arestriction on the database names. I’ll just implement what Paul has suggested. 
>
> Thanks.
>
> Tiff
>
> On Sat, Mar 7, 2020 at 2:35 AM Paul Förster <paul.foerster@gmail.com> wrote:
> Hi Tiff,
>
> from what you say, it sounds that each user should have his or her own database.
>
> Considering the other answers here already pointing out the difficulties, why don't you just create a database for
eachuser with the same name as the username and grant him or her access to it. 
>
> So, basically like this:
>
> postgres=# create role "userA" login;
> CREATE ROLE
> postgres=# create database "userA" owner "userA";
> CREATE DATABASE
> postgres=# create role "userB" login;
> CREATE ROLE
> postgres=# create database "userB" owner "userB";
> CREATE DATABASE
>
> When, say, "userB" goes away, his or her data will go the way all things do:
>
> drop database "userB";
> drop role "userB";
>
> Or did I misunderstand you?
>
> Cheers,
> Paul
>
>
> > On 07. Mar, 2020, at 00:28, Tiffany Thang <tiffanythang@gmail.com> wrote:
> >
> > Hi,
> > Is there a way in PostgreSQL 12 to restrict user to creating a database with a specific database name?
> >
> > For example, userA can only create a database with a name called mydb. Any other names would generate an error.
> >
> > If that is not possible, will it be possible then to limit userA to creating only one database? Granting the
createdbprivilege would allow the user to create any  number of databases which I want to avoid. 
> >
> > Thanks.
> >
> > Tiff
>




pgsql-general by date:

Previous
From: Tiffany Thang
Date:
Subject: Re: Restrict user to create only one db with a specific name
Next
From: stan
Date:
Subject: Another INSTEAD OF TRIGGER question