PostgreSQL
Aprende PostgreSQL de principio a fin. Fundamentos de SQL, joins, indices, transacciones, JSONB, EXPLAIN y diseno de esquemas.
14 lecciones, en orden
- 120 min
Qué es PostgreSQL
Imagina que llevas el control de todos los clientes, pedidos y productos de una tienda pequeña en una hoja de cálculo. Funciona, hasta que dos...
Relational databaseACIDMVCCPostgres vs MySQL vs SQLiteWhere Postgres shines - 225 min
psql y los primeros comandos
Ya sabes para qué sirve Postgres. El siguiente problema es más práctico: ¿cómo se habla con él? Un servidor Postgres en marcha se limita a estar ahí...
Psql command line clientConnecting as postgres userMeta commands like \l \c \dt \d \qSemicolons end statementsMultiline queriesSELECT version() - 330 min
Creación de bases de datos y tablas
Hasta ahora solo has curioseado por un servidor que montó otra persona. Está bien para aprender las herramientas, pero no te lleva a ningún sitio en...
CREATE DATABASECREATE TABLEPRIMARY KEYNOT NULLDEFAULTDROP TABLE+1 - 425 min
Tipos de datos
Todas las columnas que has creado hasta ahora llevaban un tipo asociado, TEXT, SERIAL, TIMESTAMPTZ, sin mucha explicación de por qué ese y no otro....
Integer and bigintNumeric vs floatText and varcharBooleanTimestamptz vs timestampDate+3 - 530 min
SELECT y WHERE
Tienes una tabla con unos miles de filas y necesitas siete. No todas, ni las primeras cien, sino las siete que cumplen una regla que llevas en la...
SELECT specific columnsWHERE with AND ORBETWEENINLIKE and ILIKEIS NULL+2 - 635 min
Joins
Tus datos no están en una sola tabla, y no deberían estarlo. Los usuarios viven en users, sus posts viven en posts, y lo único que ata un post a su...
INNER JOINLEFT JOINRIGHT JOINFULL OUTER JOINSelf joinUSING vs ON - 730 min
Agregados y agrupamiento
Alguien te pregunta cómo le fue a la tienda el mes pasado. No quiere las cuatro mil filas de pedidos. Quiere un número, o como mucho un número por...
COUNTSUMAVGMINMAXGROUP BY+3 - 835 min
Indexes
La consulta iba de maravilla en tu portátil con doscientas filas de prueba. En producción, contra cuatro millones, esa misma consulta tarda once...
B-tree defaultCREATE INDEXMulti-column indexPartial index WHERE activeUnique indexWrite cost+1 - 935 min
Transactions e Isolation
Dos sentencias UPDATE mueven dinero de Alice a Bob. La primera se ejecuta, la conexión se cae, la segunda no llega a ocurrir, y treinta libras...
BEGIN COMMIT ROLLBACKSavepointsREAD COMMITTED defaultREPEATABLE READSERIALIZABLEDirty read non-repeatable read phantom read serialization anomaly - 1035 min
Functions y Triggers
Todas las tablas de tu esquema tienen una columna updated_at, y en todas está mal. No siempre, solo en los caminos de código donde alguien se olvidó...
CREATE FUNCTIONLANGUAGE plpgsqlRETURNSCREATE TRIGGERBEFORE UPDATENEW and OLD+1 - 1135 min
JSONB y arreglos
Hay datos que se resisten a quedarse quietos dentro de unas columnas. Una tabla de productos donde los portátiles tienen tamaño de RAM, los teclados...
JSONB column-> operator->> operator@> contains operatorGIN index on jsonbText[] and integer[] arrays+2 - 1235 min
EXPLAIN y ajuste de consultas
Una página que antes cargaba al instante ahora tarda nueve segundos, y el instinto es ponerse a adivinar. Añadir un índice por aquí. Reescribir el...
EXPLAINEXPLAIN ANALYZESeq scan vs index scan vs index-only scanFixing a missing indexPg_stat_statements overview - 1325 min
Copia de seguridad y restauración
El proceso nocturno lleva ocho meses escribiendo un archivo en disco y nadie lo ha abierto nunca. Eso no es una copia de seguridad, eso es un archivo...
Pg_dump custom formatPg_restorePlain SQL dumpsPoint-in-time recovery overview - 1460 min
Proyecto final: Diseña un esquema
Hasta ahora, cada lección te daba una tabla y te pedía consultarla. El trabajo real va al revés: alguien describe un producto y tú tienes que decidir...
Schema designPrimary and foreign keysIndexes on hot columnsUpdated_at triggerJSONB metadataJoins with aggregates+1
Aprende PostgreSQL en tu idioma
Cada lección, examen y respuesta del tutor aparece en tu idioma. El tutor de IA responde en el idioma en que le hablas.
Roles that use PostgreSQL
See how hiring teams interview engineers on PostgreSQL, in production-like environments.
Database Administrator (DBA)
Hire DBAs in real workspaces with PostgreSQL or MySQL, real replication lag, real slow queries and real backups to restore. Live or take-home.
See the interviewBackend Engineer (Go, Rust, Java)
Hire backend engineers in real services with real databases, real concurrency and real latency budgets. Live or take-home, fully recorded.
See the interviewData Engineer
Hire data engineers in workspaces with real Spark, dbt and Airflow pipelines. Schema drift, bad data and reruns included.
See the interview