A database in PostgreSQL contains one or more schemas, each of them has a certain name. The schemas contain tables and other kinds of objects, including data types, functions and operators. The same object name can be used in different database schemas and no conflict will arise; for example, both schema1 and myschema may contain tables named mytable. Unlike databases, schemas are not rigidly separated: a user may access the necessary objects in any of the schemas in the database he is connected to, if he has the privileges to do so.
Database schemas can be compared to directories at the operating system level, the only difference is that schemas cannot be nested.