PostgreSQL grants privileges on some types of objects to PUBLIC by default when the objects are created. No privileges are granted to PUBLIC by default on tables, table columns, sequences, foreign data wrappers, foreign servers, large objects, schemas, or tablespaces. For other types of objects, the default privileges granted to PUBLIC are as follows:
***CONNECT and TEMPORARY (create temporary tables) privileges for databases;*** (emphasis mine)
EXECUTE privilege for functions and procedures; and USAGE privilege for languages and data types (including domains).