I have some additional info and a fix.
Firstly steps to reproduce:
1. create database:
CREATE DATABASE test WITH ENCODING='UTF8' OWNER=postgres CONNECTION LIMIT=-1;
-- here public has access to public
2. dump:
pg_dump -f testfile.dump -F c -h localhost -U postgres test
3. restore:
pg_restore -c -d testfile.dump -h localhost -U postgres test
-- here public no longer has access to schema public
It is easily fixable with:
GRANT ALL ON SCHEMA public TO public;
And the issue goes away.. (privilege stays after next dump/restore)
So. What am I missing?
Is this intentional functionality ?
Kind regards and again thank you for your time
Bo Thorbjørn Jensen