Re: pgsql: Revoke PUBLIC CREATE from public schema, now owned by pg_databas - Mailing list pgsql-committers

From Noah Misch
Subject Re: pgsql: Revoke PUBLIC CREATE from public schema, now owned by pg_databas
Date
Msg-id 20211217182518.GA2529654@rfd.leadboat.com
Whole thread Raw
In response to Re: pgsql: Revoke PUBLIC CREATE from public schema, now owned by pg_databas  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: pgsql: Revoke PUBLIC CREATE from public schema, now owned by pg_databas  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-committers
On Fri, Dec 17, 2021 at 12:52:39PM -0500, Tom Lane wrote:
> Noah Misch <noah@leadboat.com> writes:
> > Revoke PUBLIC CREATE from public schema, now owned by pg_database_owner.
> 
> I've just stumbled across a testing problem created by this commit:
> if you try to skip the tablespace test, the rest of the run falls
> over, because this bit doesn't get executed:
> 
> -- Rest of this suite can use the public schema freely.
> GRANT ALL ON SCHEMA public TO public;
> 
> Skipping the tablespace test is something I've been accustomed to do
> when testing replication with the standby on the same machine as the
> primary, because otherwise you've got to fool with keeping the
> standby from overwriting the primary's tablespaces.  This hack made
> that a lot more painful.
> 
> I'm inclined to think the cleanest fix is to move this step into a
> new script, say "test_setup.sql", that is scheduled by itself just
> after tablespace.sql.

I like that solution for your use case.

> It's sort of annoying to fire up a psql+backend
> for just one command, but perhaps there's other stuff that could be
> put there too.

Yes.  The src/test/regress suite would be in a better place if one could run
most test files via a schedule containing only two files, the setup file and
the file of interest.  Adding things like the "CREATE TABLE tenk1" to the
setup file would help that.



pgsql-committers by date:

Previous
From: Tom Lane
Date:
Subject: Re: pgsql: Revoke PUBLIC CREATE from public schema, now owned by pg_databas
Next
From: Tom Lane
Date:
Subject: Re: pgsql: Revoke PUBLIC CREATE from public schema, now owned by pg_databas