-
Module 1: AI in the context of PostgreSQL
11 Lessons-
StartModule introduction
-
StartAI features in PostgreSQL
-
StartWhat the database is responsible for
-
StartWhat the database is not responsible for
-
StartWhat the model service is responsible for
-
StartExtensions vs PostgreSQL core
-
StartMisconceptions to avoid
-
StartPositioning PostgreSQL correctly
-
StartLab 1
-
StartLab 1 video walkthroughs
-
StartQuiz 1
-
-
Module 2: Vector data and embeddings fundamentals
12 Lessons-
StartModule introduction
-
StartWhat is an AI model?
-
StartWhat embeddings are and why they exist
-
StartHow vector similarity differs from relational comparison
-
StartTypical AI scenarios that involve vectors
-
StartWhy vectors work well for these scenarios
-
StartWhen vectors are inappropriate
-
StartWhere embeddings models are hosted
-
StartCommon embeddings models
-
StartLab 2
-
StartLab 2 video walkthroughs
-
StartQuiz 2
-
-
Module 3: Vector data types in PostgreSQL
10 Lessons-
StartModule introduction
-
StartVector data type basics
-
Startpgvector extension basics
-
StartDeclaring vector columns and variables
-
StartHow vector values are represented
-
StartPractical table pattern for embeddings
-
StartDimensionality is enforced
-
StartDimensionality changes are migration events
-
StartStorage characteristics and limitations of pgvector
-
StartQuiz 3
-
-
Module 4: Querying vector data
7 Lessons -
Module 5: Vector indexing and performance
8 Lessons -
Module 6: Integrating External AI Services
11 Lessons-
StartModule introduction
-
StartWhy PostgreSQL might need an external AI service
-
StartWhat REST means in practice
-
StartHTTP requests, responses, headers, and status codes
-
StartJSON request and response payloads
-
StartEndpoints, hosts, ports, and network reachability
-
StartAuthentication and secrets
-
StartTimeouts, throtting, quotas, and cost
-
StartError handling, retries, and idempotency
-
StartOperational risks of outbound calls from the database
-
StartQuiz 6
-
-
Module 7: Calling AI services from PostgreSQL
13 Lessons-
StartModule introduction
-
StartWhere should AI model calls be made ?
-
StartSynchronous HTTP and asynchronous workflows
-
StartHTTP Options from PostgreSQL
-
StartIntroducing pgsql-http
-
StartRunning AI models locally with Ollama
-
StartCalling Ollama from PostgreSQL with pgsql-http
-
StartProcessing responses and storing embeddings
-
StartInvoking generative and chat models
-
StartHandling timeouts, failed requests, and retries
-
StartTracking embedding model and version information
-
StartCalling online models from PostgreSQL
-
StartQuiz 7
-
-
Module 8: Creating AI Pipelines
13 Lessons-
StartModule introduction
-
StartWhy AI enrichment is usually background work
-
StartIdentifying rows that require processing
-
StartTracking embedding state and model versions
-
StartEfficiently finding pending work
-
StartBackground execution options
-
StartTwo ways to execute the model call
-
StartDurable state and transaction boundaries
-
StartHandling retries, concurrency, and idempotency
-
StartRe-embedding when content or models change
-
StartMonitoring backlog, failures, and throughput
-
StartWhere a workflow engine might be appropriate
-
StartQuiz 8
-
-
Module 9: Implementing pipelines on Windows with pgsql-http
9 Lessons-
StartModule introduction
-
StartWindows lab architecture
-
StartPreparing the Windows extensions
-
StartPreparing rows for background embedding
-
StartCalling Ollama in batches with pgsql-http
-
StartScheduling background processing with pg_cron
-
StartOne processing cycle
-
StartObserving and recovering the Windows pipeline
-
StartQuiz 9
-
-
Module 10: Implementing pipelines on Unix with pg_net
9 Lessons-
StartModule introduction
-
StartIntroducing pg_net
-
StartUnderstanding the pg_net request lifecycle
-
StartCalling Ollama from PostgreSQL with pg_net
-
StartDispatching batches asynchronously with pg_net
-
StartTracking requests and processing responses
-
StartRetry and recovery with pg_net
-
StartChoosing between pg_net and pgsql-http
-
StartQuiz 10
-
-
Module 13: When NOT to use AI features in PostgreSQL
7 Lessons
