That is a ridiculous "nanosecond window" - the database you created is empty - nothing to connect to. Just load data AFTER the revoke.
--- On Fri, 5/27/11, Alan Gutierrez <alan@prettyrobots.com> wrote:
From: Alan Gutierrez <alan@prettyrobots.com> Subject: [NOVICE] Revoke Public Database Connect To: pgsql-novice@postgresql.org Date: Friday, May 27, 2011, 2:55 PM
I'm configuring a multi-tenant PostgreSQL server. When I create a new database, anyone can connect to it. For me, that is bad.
I run:
REVOKE CONNECT ON DATABASE d FROM public;
Now I'm only able to connect to the database as postgres.
I tired putting the create and revoke in a transaction, but create database cannot be put in a transaction. How do I create a database so there is not that nanosecond window where someone could connect to the database publiclly?