A Silicon Valley AI Developer's PostgreSQL for Handling 200+ Billion Records
This course goes beyond basic CRUD-level database operations, equipping you with practical PostgreSQL skills essential for the AI era from a real-world perspective. Drawing on AI development experience in Silicon Valley, you will learn step-by-step how to design and leverage JSON, indexing, transactions, and pgvector in actual production services, and master the techniques to resolve complex data structure and performance issues.
I think this is a level of lecture that is truly hard to find anywhere else. I have only used MySQL before, but this helped me understand the appeal of PostgreSQL even more.
Thank you for the great content.
5.0
02년생 개발자
95% enrolled
This is the only instructor on Inflearn whose notifications I keep on and whose content I watch every single time...
You always explain theories through various illustrations, and just as mentioned in the introduction, 90% of the course is hands-on practice. I think that makes it even more informative and fun.
Rather than a rigid, pre-scripted lecture, you teach in a very realistic way, which fits my style much better. (You do make mistakes occasionally, lol, but you coolly admit to them!)
I'm also participating in the community, and I'm always learning so much because you share useful information and answer questions so kindly every time.
Thank you always. I write course reviews often, but this is the first time I've written one this long!!
5.0
junki
64% enrolled
I enjoyed the lecture.
I purchased it because I needed to perform PostgreSQL tuning, but it seems the tuning-related content isn't as deep as I expected.
Personally, I think this course would be great for those who want to gain a broad understanding of PostgreSQL.
What you will gain after the course
Proficiency in PostgreSQL-based database and table schema design
Proficiency in practical SQL development and applying data retrieval, update, and deletion patterns.
Expertise in performance optimization leveraging indexes, JOINs, and aggregate queries.
Data Processing Capabilities in the AI Era Powered by JSONB, Extensions, and pgvector
Understanding Practical Data Modeling and Operational Perspectives in PostgreSQL
Various Plugins in the PostgreSQL Ecosystem
Development · Programming · Database
From basic SQL to index tuning, transactions, and pgvector A course covering it all with a single PostgreSQL
This beginner-friendly PostgreSQL course lets you master the database through hands-on practice, covering everything from basic SQL to index tuning, transactions, JSONB, and pgvector. It puts an end to the typical cycle of adding more storage as logs pile up, spinning up a separate engine for search, or attaching yet another vector database for AI features—handling it all seamlessly within a single database.
Difficulty: Beginner
9 hours 26 minutes
39 lectures
Hands-on
Docker Environment
Unlimited course access
Basics → DistributedA seamless flow from relational concepts to distributed environments
39 lectures · 9 hours 26 minutes9 sections, from basics to distributed systems
pgvector · JSONBIn a single DB without external dependencies
A curriculum co-developed by active server developers at a Silicon Valley AI startup who have handled data on the scale of over 200 billion records All you need for the hands-on environment is macOS (Apple M3) and Docker.
Below is the actual conversation. The Silicon Valley developer who had joined the team brought up PostgreSQL as a topic he personally wanted to cover.
Developer from Silicon ValleyUm... I've been here for a while since joining, just taking everything in, but there's a topic I'd like to cover... would that be alright?
Toss DeveloperI'm always down, bro lolol Let's get to work, Hong
Kakao InterviewerOh!! I was really looking forward to seeing what topic you'd cover!! What topic are you planning to cover??
Ex-Silicon Valley developerI'm planning to cover DB stuff, haha!! I'm thinking of going over PostgreSQL!! Since we provide pgvector, it can be leveraged really well in the AI era without heavy dependencies
Kakao InterviewerOh, I've only heard of it but never actually used it... I'll go ahead and try paying for it too haha
Toss developerhahaha you can just trust him and go with it. That guy is seriously a great developer and has a really broad perspective
HongAh... you're putting me through another trial here... I just trust you guys and go with the flow lolol If you could organize it and send it over, we can review it together and move forward!!
That's how this course came to be. It covers topics that a developer actually using PostgreSQL in Silicon Valley insisted we include, saying, "This is something we absolutely must cover."
What You're Going Through Right Now
We're not just building features; we're maintaining the system.
It starts off simple. A single MySQL instance is enough, and as long as CRUD operations run smoothly, there are no issues. But as soon as the service grows even slightly, the situation changes.
As we start accumulating logs, we find ourselves considering a separate storage solution, and
As search functionality is added, you integrate Elasticsearch,
and add Redis for real-time processing
And when you try to add AI features, you realize you need to add a vector database as well.
"I'm not just building features right now—I'm maintaining a system."
Databases in the AI Era
Why is PostgreSQL gaining so much attention in the AI era?
Until now, databases have primarily focused on storing and retrieving structured data. But things are different now. With the rise of AI services, we no longer deal with just simple tabular data.
Unstructured data in JSON format
Continuously accumulating log data
Embedding-based vector data
We already operate in an environment where all three must be managed together. PostgreSQL allows for flexible schemas using JSONB, maintains performance even on large datasets through indexing, and handles AI-based similarity searches with extensions like pgvector. All with just a single PostgreSQL instance, requiring no additional dependencies.
Without the need for separate systems, a single PostgreSQL instance can handle all the data processing requirements of the AI era.
Index Map
When and Which PostgreSQL Indexes Should You Use?
PostgreSQL provides various types of indexes because data structures vary. These selection criteria are covered through hands-on exercises in Section 6: Indexes and Performance Optimization.
B-Tree
It is the default index in PostgreSQL. It is used for conditions that evaluate the order of values, such as equality and inequality comparisons, range queries, and sorting. This is sufficient for most columns.
GIN
It is used for columns where a single value contains multiple elements. It is suited for conditions asking "what is inside," such as key-value searches in JSONB, arrays, and full-text search.
GiST
This is used for conditions that check whether values overlap or contain each other, such as with geometric data or range types. It is frequently used when dealing with location-based data.
A sneak peek at the actual lecture content
We cover scenarios like this.
The visuals move faster than the explanation. Here's an unedited clip straight from the actual lecture.
Tokenizer Using Search ExtensionThe process of splitting text into tokens using the search extension
Comprehensive Practice Using cron & Distributed ShardingFinal exercise tying together scheduling and distributed configuration
Analyze queries in a distributed environment Check how queries run across partitioned nodes
Hands-on practice: Per-session snapshots by isolation level Set up separate sessions and observe firsthand the differences caused by isolation levels
The choice to use a single solution deeply rather than attaching multiple ones.
39 lectures, 9 hours 26 minutes. It sequentially progresses from basic SQL to distributed environments.
PostgreSQL is a widely used relational database management system (DBMS/RDBMS) alongside MySQL and Oracle. While it is a relational database just like the others, the following features are what make PostgreSQL the preferred choice.
ACID
PostgreSQL supports ACID transactions, ensuring data consistency. It is also reliably used in systems where accuracy is critical, such as finance and payments.
MVCC
PostgreSQL's MVCC (Multi-Version Concurrency Control) prevents reads and writes from blocking each other, ensuring high concurrency and performance.
Index
PostgreSQL supports a variety of indexes, including B-Tree, GIN, and GiST, allowing for the efficient processing of complex queries. For unstructured columns like JSONB, you can create a GIN index to accelerate key-value searches.
Extensibility
PostgreSQL enables you to flexibly extend the database itself through user-defined functions, types, and extension modules.
Standard SQL
PostgreSQL remains faithful to standard SQL while offering a wide range of features needed in real-world applications.
JSONB · GIS
PostgreSQL handles not only relational data but also semi-structured data like JSONB and location-based (GIS) data, all within a single database.
Ecosystem
PostgreSQL features an extension ecosystem where you can seamlessly add extensions like pgvector and PostGIS as needed.
The official documentation describes PostgreSQL as follows.
PostgreSQL is a powerful, open source object-relational database system with a strong reputation for reliability, feature robustness, and performance.
PostgreSQL is a powerful, open source object-relational database system with a strong reputation for reliability, feature robustness, and performance.
Even for the same table, query response times vary depending on which indexes are applied, and the data visible to other sessions changes based on just a single line setting the isolation level. Knowing the features is one thing, but knowing what to choose in a given situation is entirely another.
What Makes This Course Special
Why this PostgreSQL course?
Designed from the perspective of an active developer in Silicon Valley.
This course was developed in collaboration with a veteran server developer with 13 years of experience who is currently working on AI-related development in Silicon Valley. It directly reflects the insights and decision-making criteria gained from hands-on experience with PostgreSQL.
Most of the lectures lead into hands-on practice and queries.
Every lecture provides real PostgreSQL queries, seamlessly integrating conceptual explanations with hands-on practice. Most of the 39 lectures are conducted by directly executing queries.
We treat it not merely as simple storage, but as the core of the system.
It goes beyond basic SQL. By covering indexes and performance, transactions and concurrency, and distributed environments and scheduling, it enables you to view the database as the core component of service design.
Discover firsthand the role PostgreSQL plays in the AI era.
You will directly execute embedding vector search queries using pgvector. You can see firsthand how similarity search runs right within PostgreSQL, without the need for a separate vector database.
Recommended for
Who is this PostgreSQL course for?
Junior to mid-level developers looking to build a solid foundation in PostgreSQL from the ground up Anyone who wants to go beyond basic CRUD and structurally learn various INSERT, UPDATE, and DELETE patterns, SELECT tuning, and index optimization.
Backend developers curious about how to leverage PostgreSQL Those looking to consolidate everything from basic concepts like DDL and DML to practical perspectives for immediate real-world application.
Backend job seekers and junior developers preparing for interviews Those who want to organize frequently asked topics such as transactions, integrity, indexes, and FKs based on real-world practices
Aspiring senior developers who want to view PostgreSQL as the core architecture of a system Those who want to understand it not merely as a data store, but as a central component of service design, and are interested in schema refactoring and evolving database architectures.
Developers curious about the role of databases in the AI era and those who want to run embedding vector search queries directly using pgvector
Conversely, if you can explain JSONB design, index selection, and the differences in isolation levels right now, you don't need this course.
It is structured in a sequence designed for developers learning PostgreSQL for the first time. Starting with database fundamentals, the course progresses sequentially through basic SQL, query design, indexes and performance, transactions, extensions, and distributed systems. Each section is carefully structured to serve as a prerequisite for the next.
Section 1. Course Introduction
Lecture 2 · 7 min
PostgreSQL, the fastest-rising Database in the AI era!!07:09
KakaoTalk Community with Hong!Materials
Section 2. Database Fundamentals and Introduction to PostgreSQL
Lecture 3 · 20 minutes
Database and Relational Concepts11:10
PostgreSQL Features and Docker Environment Setup09:38
DB Connection SettingsMaterials
Section 3. Table Relationships and Basic SQL
Lecture 6 · 1 hour 27 minutes
Data Types15:00
Table Creation and Constraints16:21
INSERT and SELECT18:52
UPDATE and DELETE07:38
WHERE Operators16:53
UPSERT Query Pattern12:31
Section 4. Sorting · Aggregation · JOIN Design
6 Lectures · 1 hour 26 minutes
Covers sorting and aggregation, and JOIN design for linking multiple tables.1:26:00
Section 5. Advanced SQL Query Patterns
4 Lectures · 47 minutes
Learn advanced query patterns beyond basic syntax through hands-on practice.47:00
Section 6. Indexes and Performance Optimization
Lecture 5 · 1 hour 41 minutes
Covers B-Tree, GIN, and GiST indexes from a performance optimization perspective.1:41:00
Covers transactions and isolation levels, as well as MVCC-based concurrency and scalability.1:14:00
Section 8. Extension Features
5 lectures · 1 hour 12 minutes
Covers extension features of the PostgreSQL ecosystem, such as pgvector and search extensions.1:12:00
Section 9. Distributed Environment and Scheduling
Lecture 4 · 1 hour 9 minutes
Concludes with a comprehensive hands-on exercise on configuring a distributed environment and cron-based scheduling.1:09:00
Technologies Covered · Lab Environment
What tools will we use for the hands-on practice?
PostgreSQL
JSONB
B-Tree · GIN · GiST
MVCC · Isolation Levels
pgvector
Search Extension
cron · Distributed Sharding
Docker
macOS (Apple M3)
DBMS/RDBMS
database
This course is conducted in an Apple M3 Air environment, utilizing Docker to set up a lightweight and isolated environment. Just spin up a single container locally and you'll be ready to follow along.
If you've gone through the entire curriculum,
You have lifetime access to the course. You can revisit the materials whenever you need a refresher.
The Silicon Valley developer who co-prepared this course
Silicon Valley · AI Startup Server Developer
Waddy
With 13 years of experience as a backend server developer, I have worked at various companies in Korea before recently relocating to Silicon Valley to focus on AI development. I joined this project through a connection with a friend who is a developer at Toss, and I strive to share my knowledge in the easiest and most accessible way possible.
[Current] Server Developer at a Silicon Valley AI Startup
[Former] Server Developer at Kakao
[Previous] Server Developer at 2-3 Domestic Startups
[Former] Majored in Computer Science Abroad
Frequently Asked Questions
PostgreSQL Course Frequently Asked Questions
What kind of database is PostgreSQL?
PostgreSQL is an open-source object-relational database. While managing relational tables, it natively supports ACID transactions, MVCC concurrency, B-Tree, GIN, and GiST indexes, along with user-defined functions, types, and extensions, allowing you to handle both structured data and unstructured data such as JSON and vectors within a single database. This course covers these features through hands-on practice, progressing in the order of basic SQL → indexes → transactions → extensions.
Why is PostgreSQL gaining attention in the AI era?
This is because the data we need to handle is no longer limited to structured tables. We now need to process unstructured JSON data, continuously accumulating logs, and embedding-based vector data all together. PostgreSQL handles all of this in a single place: flexible schemas with JSONB, high performance for large datasets through indexing, and similarity search via the pgvector extension. The key advantage is that you don't need to integrate multiple separate systems.
What is pgvector?
pgvector is an extension that adds vector types and similarity distance operators to PostgreSQL. By storing embeddings in a column, you can find the most similar items using just the ORDER BY clause in a standard SELECT statement, enabling you to add AI features without needing a separate vector database. In Section 8, Extension Features, we will execute this query directly.
Can you also create indexes on JSONB columns in PostgreSQL?
Yes. By applying a GIN index to a JSONB column, you can search for specific keys or values without performing a full scan. This means that even when storing unstructured data, you can retrieve it just as quickly as you would from a relational table. Section 6, Indexes and Performance Optimization, covers B-Tree, GIN, and GiST indexes.
How does PostgreSQL differ from other RDBMSs like MySQL and Oracle?
Since all three are relational database management systems (RDBMS), they share the same core foundation of tables, SQL, and transactions. Where PostgreSQL truly differentiates itself is in its indexing and extension architecture. In addition to B-Tree, PostgreSQL natively supports GIN and GiST indexes, allowing you to index unstructured columns like JSONB and arrays. Furthermore, you can install extensions like pgvector to add vector search capabilities directly within the database. This means that as your service scales, you can avoid the need to separately integrate dedicated log storage, search engines, and vector databases. This course covers the criteria for making these architectural choices and their limitations in Sections 6 and 8.
Can beginners follow this PostgreSQL course?
Yes. Designed as a beginner-level course, it starts with database and relational concepts and progresses through data types, constraints, and basic SQL. Basic SQL experience is all you need, and the later sections on indexes, transactions, and distributed environments will offer fresh insights even for experienced professionals.
How does PostgreSQL handle transaction isolation levels?
PostgreSQL supports the Read Committed, Repeatable Read, and Serializable isolation levels, with Read Committed as the default. In Section 7, Transactions, Concurrency, and Scalability, we will open multiple sessions and change the isolation levels to directly observe how the snapshots seen by each session at the same point in time differ.
How is the lab environment set up?
The course is conducted in an Apple M3 Air environment, and we use Docker to ensure a lightweight and isolated setup. Section 2 covers PostgreSQL features, Docker environment configuration, and database connection settings, so you can simply follow along.
Which extensions are covered?
In Section 8, Extension Features (Lecture 5, 1 hour and 12 minutes), we cover embedding vector search using pgvector and tokenizers using the Search Extension. In the following Section 9, we wrap up with a comprehensive hands-on lab combining cron and distributed sharding.
Even if I'm already using PostgreSQL in production, is there still a reason to take this course?
PostgreSQL supports the Read Committed, Repeatable Read, and Serializable isolation levels, with Read Committed as the default. The isolation level determines when changes committed by other sessions become visible within your own transaction. Writing queries is one thing, but explaining these differences is another. In Section 7, we will set up separate sessions to see hands-on how snapshots actually differ across isolation levels. Section 6 covers the criteria for index selection, and Section 9 explores how queries execute in a distributed environment.
Can't I just study on my own using the official documentation?
The official documentation accurately explains what each feature does. However, it won't tell you which index to apply to a specific table, nor will it determine how changing the isolation level will impact your service. This course dedicates time to making those exact judgments by running queries directly and verifying the results.
The difficulty level is for beginners, but how far does the scope of the material extend?
The course begins with database and relational concepts and concludes with indexes and performance optimization (Section 6), transactions and concurrency (Section 7), Extensions (Section 8), and distributed environments and scheduling (Section 9). The entire curriculum, comprising 39 lectures and 9 hours and 26 minutes of content, follows this progression, and with unlimited access, you can always revisit and review just the sections you need.
What is the sequence of the PostgreSQL course curriculum?
The curriculum begins with database and relational concepts and Docker environment setup, followed by data types and constraints, basic SQL, sorting, aggregation, and JOIN design, advanced query patterns, indexing and performance optimization, transactions, concurrency, and scalability, extensions, and distributed environments and scheduling. The full course consists of 39 lectures totaling 9 hours and 26 minutes, with unlimited access.
Why you choose specific indexes, and what changes when you adjust the isolation level
Starting with basic SQL, you will explore indexes, performance, transactions, and pgvector vector search through hands-on practice across 39 lectures.
We operate an open chat room where developers can share career experiences, on-the-job insights, and technical knowledge. Feel free to share any questions or practical challenges you encounter while taking the course.
I started studying development after becoming interested in it while idling at home, and I am currently responsible for platform server development in Pangyo. I am continuing my activities as a knowledge sharer because I want to provide you with the methods I used to study, as well as the various problems and solutions you may encounter in practice.
These lectures are not created solely through my own knowledge. There are others who collaborate on every lecture.
I enjoyed the lecture.
I purchased it because I needed to perform PostgreSQL tuning, but it seems the tuning-related content isn't as deep as I expected.
Personally, I think this course would be great for those who want to gain a broad understanding of PostgreSQL.
Hello Junki, thank you for leaving a review. If you could share your thoughts on which specific parts you are curious about, I will provide a quick answer.
I would appreciate it if you could ask your questions through Inflearn!! Also, it would be very helpful if you could join our community and share the things you've learned while proceeding with the tuning ㅎㅎ
Have a great day!
Hello instructor.
First of all, I enjoyed the lectures and they were very helpful. Thank you for taking the time to leave a reply.
Actually, since there aren't many Korean lectures regarding PostgreSQL, I looked up several foreign lectures on YouTube. I noticed that regarding tuning, they cover not only query writing methods and index settings but also PostgreSQL's memory structure and its corresponding configuration values.
In my personal opinion, I thought it would have been great if explanations on those parts were also included.
(Additionally, on a very personal note, I thought it would be good if there were explanations for more complex and diverse cases regarding 'explain'.)
Ah, I see. ㅠㅠ I covered the basic concepts slowly in hopes that this lecture would be beneficial even for those seeing it for the first time, so I'm sorry I couldn't get into the tuning perspective. ㅠㅠ I will work harder to cover more advanced topics in the future so that I can satisfy you as well, Junki!!
This is the only instructor on Inflearn whose notifications I keep on and whose content I watch every single time...
You always explain theories through various illustrations, and just as mentioned in the introduction, 90% of the course is hands-on practice. I think that makes it even more informative and fun.
Rather than a rigid, pre-scripted lecture, you teach in a very realistic way, which fits my style much better. (You do make mistakes occasionally, lol, but you coolly admit to them!)
I'm also participating in the community, and I'm always learning so much because you share useful information and answer questions so kindly every time.
Thank you always. I write course reviews often, but this is the first time I've written one this long!!
Hello, developer born in '02! Thank you for leaving such a great review!! I will continue to provide even more helpful content in the future!! Have a great day today!
I think this is a level of lecture that is truly hard to find anywhere else. I have only used MySQL before, but this helped me understand the appeal of PostgreSQL even more.
Thank you for the great content.