What Is PostgreSQL?
The open-source relational database developers rate most highly — what makes it different, how it is organized, and the sample database used in this course.
PostgreSQL is a free, open-source object-relational database that has been developed for more than 35 years. It is known for strict standards compliance, reliability and extensibility: rich types (JSON, arrays, ranges, geometric, full-text), user-defined functions in several languages, and extensions such as PostGIS and pgvector. In the Stack Overflow Developer Surveys of recent years it has been the most-used database among professional developers.
The sample database
CREATE TABLE Employees (Name TEXT); SELECT * FROM "Employees"; -- relation does not exist
CREATE TABLE employees (name text); SELECT * FROM employees;
PostgreSQL folds unquoted identifiers to lower case. Quoted identifiers are case-sensitive. Use lower_snake_case and never quote, and the problem disappears.
What is MVCC and what problem does it solve?
Multi-version concurrency control: updates create new row versions instead of overwriting in place, and each transaction sees a consistent snapshot. Readers and writers do not block each other.
What is the WAL used for?
The write-ahead log records changes before they are written to the data files. It allows recovery after a crash, point-in-time recovery from backups, and streaming replication to standby servers.