A librarian with perfect memory
A database is software whose entire job is to remember structured information correctly — across crashes, restarts, hundreds of concurrent users, and the messy reality of production. Hand it data; it organises, indexes, and returns answers in milliseconds. Take it away; you are back to grepping CSVs and arguing about which spreadsheet is the real one.
What separates a real database from a glorified file cabinet is the four guarantees baked into the engine: structure (every column has a type), integrity (constraints reject bad data before it lands), concurrency (many writers without corruption), and durability (committed data survives a power cut a millisecond after COMMIT returned).
The relational vocabulary you'll use forever
Every PostgreSQL idea below sits on three nouns: tables hold data, rows are individual records, columns are typed fields. The mathematical vocabulary (relation, tuple, attribute) maps one-to-one onto this. SQL is the language you use to define and query these structures.
What this quest assumes
Zero PostgreSQL experience. Some comfort with a terminal helps but isn't required — every example is a copy-pasteable psql session. By the end, you'll be designing schemas, writing window functions, reading EXPLAIN output, and arguing about isolation levels with a straight face.