The industry's default serious database.
PostgreSQL (usually just "Postgres") is a free, open-source relational database with over 30 years of development behind it. It stores data in tables and speaks SQL, like MySQL and SQLite — but it's known for its rigor and feature depth: strict data integrity, powerful indexing, and first-class JSON support, so it handles semi-structured data nearly as well as a document database.
When developers and companies need a database that will still be the right choice at a million users, Postgres is the default answer. Every major cloud offers it as a managed service.
Choose Postgres for apps you expect to grow — it scales from a side project to serious production traffic without a migration, and its JSON columns give you flexibility when your schema is still evolving. It's the standard partner to Node.js in modern stacks. For tiny projects and learning, SQLite gets you going with zero setup; on shared hosting, MySQL is usually what's pre-installed.
TEXT, INTEGER,
TIMESTAMPTZ, JSONB…), and Postgres
enforces them — bad data gets rejected, not silently stored.
NOT NULL,
UNIQUE, and foreign keys make the database itself
guarantee your data stays consistent.
CREATE TABLE users (
id SERIAL PRIMARY KEY,
email TEXT UNIQUE NOT NULL,
settings JSONB DEFAULT '{}',
created_at TIMESTAMPTZ DEFAULT now()
);
INSERT INTO users (email, settings)
VALUES ('[email protected]', '{"theme": "dark"}');
SELECT email FROM users
WHERE settings->>'theme' = 'dark';
Note the last query: that's SQL filtering inside a JSON column — relational structure and document flexibility in one database.
psql command-line tool or a GUI
like pgAdmin, and create your first table.
pg for
Node.js or
psycopg for
Python — using parameterized
queries.