A schema is a namespace inside a database (it groups tables, views, functions, etc.). You use schemas to organize objects, separate concerns (e.g., app vs audit), and manage permissions. `search_path` controls which schemas are searched when you don’t qualify names.