Basic |
Installation & Setup |
Download, initdb, configuration, pg_ctl, pgAdmin |
|
Architecture Overview |
Processes (postmaster, bgwriter, wal writer), memory, WAL, storage engine |
|
Data Types |
Numeric, Text, Boolean, Date/Time, UUID, Arrays |
|
Schema & Tables |
CREATE, ALTER, DROP, constraints, tablespaces |
|
Basic Queries |
SELECT, INSERT, UPDATE, DELETE |
|
Constraints |
PRIMARY KEY, FOREIGN KEY, UNIQUE, CHECK |
|
psql Client |
Meta commands (\d, \i, \dt), scripting |
|
Import/Export |
COPY, pg_dump, pg_restore, \copy |
|
Basic Functions |
String, Math, Aggregate, Conversion |
|
Transactions |
BEGIN, COMMIT, ROLLBACK, savepoints |
Intermediate |
Joins & Subqueries |
INNER, LEFT, RIGHT, FULL, Nested queries, CTEs |
|
Indexing |
B-Tree, Hash, GIN, GiST, covering indexes |
|
Views |
Simple Views, Materialized Views, refresh strategies |
|
Triggers & Rules |
BEFORE/AFTER triggers, INSTEAD OF triggers, Rules |
|
Functions & PL/pgSQL |
SQL functions, PL/pgSQL basics, error handling |
|
Window Functions |
RANK, ROW_NUMBER, PARTITION BY, LEAD, LAG |
|
Sequences & Identity |
SERIAL, BIGSERIAL, GENERATED ALWAYS, currval(), nextval() |
|
JSON & JSONB |
Storage, operators, indexing (GIN), functions |
|
Error Handling |
EXCEPTION blocks, raise notice/error/warning |
|
Data Modeling |
Normalization, relationships, schema design |
Advanced |
Query Optimization |
EXPLAIN, ANALYZE, query planner |
|
Partitioning |
Range, List, Hash, default partitions |
|
Table Inheritance |
Parent-child tables, constraints, performance |
|
Locks & Concurrency |
Row locks, Deadlocks, MVCC |
|
Vacuum & Analyze |
Autovacuum, statistics, bloat removal |
|
Extensions |
PostGIS, pg_stat_statements, hstore, uuid-ossp |
|
Full Text Search |
tsvector, tsquery, dictionaries, ranking |
|
Parallel Query |
Parallel scan, joins, aggregate |
|
Advanced Security |
Row-Level Security (RLS), Policies, GRANT/REVOKE |
|
Large Objects |
BYTEA, TOAST, pg_largeobject API |
Expert |
High Availability |
Streaming replication, Logical replication, failover |
|
Backup & Recovery |
pg_dump, PITR, WAL archiving, pgBackRest, Barman |
|
Sharding & Scaling |
Citus, FDWs, partitioned scaling |
|
Advanced Indexing |
BRIN, Bloom, Expression indexes, Partial indexes |
|
Monitoring & Tuning |
pg_stat_statements, logs, auto_explain, tuning params |
|
System Catalogs |
pg_class, pg_attribute, pg_index, pg_roles |
|
Advanced PL/pgSQL |
Packages, dynamic SQL, performance best practices |
|
Cross-DB Integration |
dblink, postgres_fdw, foreign data wrappers |
|
Migration Tools |
pg_upgrade, logical replication for migration, data migration strategies |
|
Enterprise Deployment |
Kubernetes, cloud deployment, scaling strategies |