Hi Tiff,

note that there is an absurd high maximum of databases possible inside a 
PostgreSQL database cluster. I think, the maximum is 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 <tiffanyth...@gmail.com> wrote:
> 
> Thanks David and Paul. Because each user wants the ability to drop and 
> recreate their own databases, I want to impose a restriction 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.foers...@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 each user 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 <tiffanyth...@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 createdb privilege would allow the 
> > user to create any  number of databases which I want to avoid.
> > 
> > Thanks.
> > 
> > Tiff
> 



Reply via email to