Postgres is the open-source database system that Supabase uses to store and manage data. It is reliable, powerful, and supports many features that make building apps easier.
Click to reveal answer
beginner
Why does Supabase choose Postgres over other databases?
Supabase uses Postgres because it is open-source, supports real-time data, has strong security features, and allows easy extensions to add new capabilities.
Click to reveal answer
intermediate
How does Postgres support real-time features in Supabase?
Postgres has features called logical replication and listen/notify that let Supabase send updates instantly to apps when data changes, enabling real-time experiences.
Click to reveal answer
intermediate
What role do Postgres extensions play in Supabase?
Extensions add extra tools and functions to Postgres, like full-text search or geolocation. Supabase uses these to offer more features without building from scratch.
Click to reveal answer
intermediate
How does Postgres help with security in Supabase?
Postgres supports row-level security, letting Supabase control who can see or change specific data, keeping apps safe and private.
Click to reveal answer
What type of database is Postgres?
ANoSQL document store
BIn-memory key-value store
COpen-source relational database
DGraph database
✗ Incorrect
Postgres is an open-source relational database that organizes data in tables with rows and columns.
Which Postgres feature enables real-time updates in Supabase?
ALogical replication and listen/notify
BFull-text search
CRow-level security
DJSON support
✗ Incorrect
Logical replication and listen/notify allow Postgres to send data change events instantly for real-time updates.
Why are Postgres extensions important for Supabase?
AThey convert Postgres to NoSQL
BThey slow down the database
CThey remove security features
DThey add extra features without extra coding
✗ Incorrect
Extensions add useful tools like search or geolocation, helping Supabase offer more features easily.
What security feature does Postgres provide to Supabase?
ARow-level security
BNo password protection
COpen access to all data
DNo encryption
✗ Incorrect
Row-level security controls access to individual rows, keeping data safe and private.
Which of these is NOT a reason Supabase uses Postgres?
AIt is open-source
BIt is a NoSQL database
CIt allows extensions
DIt supports real-time data
✗ Incorrect
Postgres is a relational database, not NoSQL.
Explain why Postgres is a good choice for powering Supabase.
Think about what makes a database reliable, fast, and secure for apps.
You got /4 concepts.
Describe how Postgres features help Supabase provide real-time updates and strong security.
Focus on how data changes are sent instantly and how data access is controlled.
You got /2 concepts.
Practice
(1/5)
1. Why does Supabase use Postgres as its database?
easy
A. Because Postgres is a cloud provider
B. Because Postgres is the only database available
C. Because Postgres is a frontend framework
D. Because Postgres is reliable and supports complex data
Solution
Step 1: Understand Supabase's database choice
Supabase uses Postgres because it is a reliable and powerful database system.
Step 2: Recognize Postgres features
Postgres supports complex data types and scales well, making it suitable for many app sizes.
Final Answer:
Because Postgres is reliable and supports complex data -> Option D
Quick Check:
Postgres reliability = reason for Supabase choice [OK]
Hint: Remember Supabase builds on a strong, reliable database [OK]
Common Mistakes:
Thinking Postgres is a frontend tool
Assuming Postgres is the only database option
Confusing Postgres with cloud providers
2. Which of the following is the correct way to connect to a Postgres database in Supabase?
easy
A. supabase.connect('postgres://user:pass@host/db')
B. supabase.connect('http://user:pass@host/db')
C. supabase.connect('ftp://user:pass@host/db')
D. supabase.connect('file://user:pass@host/db')
Solution
Step 1: Identify the correct protocol for Postgres connection
Postgres uses the 'postgres://' protocol in connection strings.
Step 2: Match the protocol with Supabase connection syntax
Supabase connects to Postgres using 'supabase.connect' with a 'postgres://' URL.
Final Answer:
supabase.connect('postgres://user:pass@host/db') -> Option A
Quick Check:
Postgres connection string starts with 'postgres://' [OK]
Hint: Look for 'postgres://' in connection strings [OK]
Common Mistakes:
Using HTTP or FTP protocols for database connection
Confusing file paths with URLs
Missing the correct protocol prefix
3. Given this SQL query run on Supabase's Postgres database: SELECT COUNT(*) FROM users WHERE active = true; What does this query return?
medium
A. The total number of users in the database
B. A list of all user names
C. The number of active users
D. The number of inactive users
Solution
Step 1: Analyze the SQL query condition
The query counts rows in 'users' where 'active' is true, filtering only active users.
Step 2: Understand the COUNT(*) function
COUNT(*) returns the number of rows matching the condition, here active users only.
Final Answer:
The number of active users -> Option C
Quick Check:
COUNT with WHERE active=true counts active users [OK]
Hint: COUNT(*) with WHERE filters counts matching rows [OK]
Common Mistakes:
Thinking it counts all users regardless of status
Confusing COUNT(*) with SELECT *
Assuming it returns user details instead of a number
4. You wrote this SQL query in Supabase but it returns an error: SELECT * FROM users WHERE active = 'true'; What is the likely cause?
medium
A. Using quotes around true causes a type mismatch error
B. Missing a semicolon at the end
C. Table 'users' does not exist
D. Using SELECT * is not allowed in Supabase
Solution
Step 1: Check the data type of 'active' column
'active' is a boolean, so it expects true/false without quotes.
Step 2: Understand why quotes cause error
Quotes make 'true' a string, causing a type mismatch error in Postgres.
Final Answer:
Using quotes around true causes a type mismatch error -> Option A
Quick Check:
Boolean values must not be quoted in SQL [OK]
Hint: Boolean values in SQL are unquoted true/false [OK]
Common Mistakes:
Assuming quotes are needed for booleans
Thinking missing semicolon causes error
Believing SELECT * is disallowed
5. Supabase uses Postgres to handle real-time updates. Which Postgres feature allows Supabase to efficiently notify clients about data changes?
hard
A. Postgres full table scans
B. Postgres LISTEN/NOTIFY system
C. Postgres static backups
D. Postgres manual indexing
Solution
Step 1: Identify Postgres feature for notifications
Postgres provides LISTEN/NOTIFY to send messages about data changes in real-time.
Step 2: Understand Supabase real-time updates
Supabase uses LISTEN/NOTIFY to push updates to clients efficiently without polling.
Final Answer:
Postgres LISTEN/NOTIFY system -> Option B
Quick Check:
Real-time updates use LISTEN/NOTIFY in Postgres [OK]
Hint: Real-time in Postgres uses LISTEN/NOTIFY [OK]
Common Mistakes:
Confusing backups with real-time features
Thinking full table scans notify clients
Assuming manual indexing triggers updates
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.