Re: create database with template doesn't copy ACL - Mailing list pgsql-docs

From Joseph Nahmias
Subject Re: create database with template doesn't copy ACL
Date
Msg-id 20200614072613.GA21852@nahmias.net
Whole thread Raw
In response to Re: create database with template doesn't copy ACL  (Bruce Momjian <bruce@momjian.us>)
List pgsql-docs
On Fri, Jun 12, 2020 at 05:29:51PM -0400, Bruce Momjian wrote:
> On Fri, Jun  5, 2020 at 02:31:34PM +0000, PG Doc comments form wrote:
> > The following documentation comment has been logged on the website:
> > 
> > Page: https://www.postgresql.org/docs/11/sql-createdatabase.html
> > Description:
> > 
> > My understanding is that not copying the ACL is the (currently) expected
> > behavior when issuing CREATE DATABASE newdb WITH TEMPLATE my_tmpl;
> > It would be useful for the documentation to note this caveat.
> 
> Uh, what ACLs are not copied?

The ACL on the database itself. For example:

postgres@postgres[[local]#9655]=# CREATE DATABASE acl_template WITH IS_TEMPLATE = 1;
CREATE DATABASE
postgres@postgres[[local]#9655]=# REVOKE ALL ON DATABASE acl_template FROM PUBLIC;
REVOKE
postgres@postgres[[local]#9655]=# CREATE DATABASE acl_test WITH TEMPLATE = acl_template;
CREATE DATABASE
postgres@postgres[[local]#9655]=# SELECT datname, datacl FROM pg_database WHERE datname LIKE 'acl%';
   datname    |         datacl
--------------+-------------------------
 acl_template | {postgres=CTc/postgres}
 acl_test     |
(2 rows)

Here, the ACL on the new acl_test database does NOT match the ACL on the
acl_template database upon which it is based.

Hope this helps,
--Joe



pgsql-docs by date:

Previous
From: PG Doc comments form
Date:
Subject: serial attribute type vs GENERATED AS IDENTITY
Next
From: Euler Taveira
Date:
Subject: Re: Signed-ness of ints is unclear in FE-BE protocol docs