A detailed comparison of how schemas work in PostgreSQL versus Oracle, covering key differences in user-schema relationships, namespace rules, object ownership, privileges, schema search paths, and system schemas. In Oracle, users and schemas have a strict one-to-one correspondence, while PostgreSQL treats them as orthogonal concepts. Oracle determines object ownership by schema, whereas PostgreSQL assigns ownership to the creating user. PostgreSQL uses a search_path list instead of Oracle's single default schema and synonyms. The post also highlights namespace differences that can cause naming conflicts when migrating from Oracle to PostgreSQL.

Table of contents
The common ground: what is a schemaUsers and schemasSchemas as namespacesSchemas and object ownershipSchemas and privilegesThe “default schema” for unqualified accessSystem schemasConclusionSort: