Re: Restrict user to create only one db with a specific name

From: "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>
To: Tiffany Thang <tiffanythang(at)gmail(dot)com>
Cc: Forums postgresql <pgsql-general(at)postgresql(dot)org>
Subject: Re: Restrict user to create only one db with a specific name
Date: 2020-03-06 23:39:14
Message-ID: CAKFQuwb4yvm0LvEh=eAgF-gARucRC16fo9vPdDx0E9AbL=U1gA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Fri, Mar 6, 2020 at 4:28 PM Tiffany Thang <tiffanythang(at)gmail(dot)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.
>

No. Though you could prevent them from being able to connect to unexpected
databases via the pg_hba.conf file.

Why does userA need create database privileges?

You could just have them log into an admin database and run a function that
creates the database for them using function owner privileges then you can
add whatever special logic you want to that function.

David J.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message David G. Johnston 2020-03-07 06:00:51 Re: Restrict user to create only one db with a specific name
Previous Message Tiffany Thang 2020-03-06 23:28:08 Restrict user to create only one db with a specific name