Tomas Vondra <tomas.vondra@2ndquadrant.com> writes:
> What happens is that we *do not* include ACL for the public schema
> unless when running in "clean" mode (i.e. when pg_dump is executed with
> "-c" switch). This is the relevant comment from pg_dump.c:
Note that that bit is new since v11; the OP is complaining about v10
which acted differently.
I did some simple experiments that suggest that things are fine in
this area as of v11+, but the reason we changed it is that it wasn't
fine before. The most likely bet IMO is that the OP did a
dump/restore with -c -x at some point, and that lost the ACL for
the public schema, and now that state will be preserved by
additional dump/restore cycles with -c. It'd be advisable to
drop the database and create it fresh instead of using -c.
regards, tom lane