instalar - postgresql wikipedia
¿Por qué todas las bases de datos tienen un esquema público en PostgreSQL? (2)
Tenía curiosidad por saber por qué todas las bases de datos en PostgreSQL tienen un esquema public
al que todos los usuarios pueden acceder. Sé que puedo revocar privilegios y otorgarlos a un usuario, pero ¿por qué no es el predeterminado?
Mi conjetura sería la especificación de SQL. Pero, esto es bastante lógico, ¿qué create user
si no lo hiciera? ¿Requieren que diga explícitamente a qué esquema también tuvo acceso el usuario?
Si sus usuarios no tienen acceso a ningún recurso compartido, ¿por qué no crear una nueva base de datos para ellos? A diferencia de MySQL, una nueva base de datos es una nueva base de datos, y no un alias para un nuevo esquema.
Solo quería aclarar esto, significa que cada base de datos tiene su propio public.
esquema.
No se da mucha justificación, pero vea la sección [5.7.6][1] en el manual, pero creo que lo siguiente responde a su pregunta:
Si no crea ningún esquema, todos los usuarios accederán implícitamente al esquema público. Esto simula la situación en la que los esquemas no están disponibles en absoluto. Esta configuración se recomienda principalmente cuando hay un solo usuario o unos pocos usuarios que cooperan en una base de datos. Esta configuración también permite una transición suave desde el mundo que no tiene en cuenta el esquema.