Postgre SQL
PostgreSQL is a powerful, open-source object-relational database management system known for strict ACID compliance, standards compliance, and extensibility through custom types, functions, and extensions.
96 resources across 4 libraries
Glossary Terms(53)
MySQL
MySQL is an open-source relational database management system (RDBMS) and the world's most widely used database for web applications, using structured tables a…
PostgreSQL
PostgreSQL is a powerful, open-source object-relational database management system known for strict ACID compliance, standards compliance, and extensibility th…
MongoDB
MongoDB is an open-source, document-oriented NoSQL database that stores data as flexible, JSON-like documents (BSON) rather than rows and columns in fixed tabl…
Redis
Redis is an open-source, in-memory data structure store used as a database, cache, and message broker, supporting strings, hashes, lists, sets, and sorted sets…
Supabase
Supabase is an open-source backend-as-a-service platform built around PostgreSQL, providing a managed database, authentication, auto-generated APIs, file stora…
SQLite
SQLite is a lightweight, serverless, self-contained relational database engine that reads and writes directly to a single ordinary disk file, making it one of…
YugabyteDB
YugabyteDB is an open-source, distributed SQL database designed for cloud-native applications, offering horizontal scalability with PostgreSQL wire compatibili…
ClickHouse
ClickHouse is an open-source, column-oriented database management system built for online analytical processing (OLAP), capable of executing aggregation and an…
CockroachDB
CockroachDB is an open-source, distributed SQL database designed to survive machine, rack, and datacenter failures while providing strong ACID consistency and…
CouchDB
Apache CouchDB is an open-source NoSQL document database that stores data as JSON documents and exposes an HTTP/REST API as its primary interface, with built-i…
Hasura
Hasura is an open-source engine that instantly generates a GraphQL and REST API over new or existing databases, letting developers query and mutate data withou…
Hibernate
Hibernate is an object-relational mapping (ORM) framework for Java that maps Java classes to database tables, letting developers work with relational data usin…
TiDB
TiDB is an open-source, distributed SQL database developed by PingCAP that is MySQL-compatible and designed for Hybrid Transactional/Analytical Processing (HTA…
TimescaleDB
TimescaleDB is an open-source time-series database built as an extension of PostgreSQL, adding automatic partitioning, compression, and query optimizations for…
Umami
Umami is an open-source, privacy-focused website analytics platform that can be self-hosted as a lightweight alternative to Google Analytics, tracking visitor…
Amazon RDS
Amazon RDS (Relational Database Service) is a managed AWS service that provisions, operates, and scales relational databases such as MySQL, PostgreSQL, MariaDB…
Appsmith
Appsmith is an open-source low-code platform for quickly building internal tools such as admin panels, dashboards, and CRUD applications by connecting to datab…
ArangoDB
ArangoDB is an open-source native multi-model database that supports graph, document, and key-value data models within a single storage engine, queried through…
DataGrip
DataGrip is a cross-platform database IDE from JetBrains that provides intelligent SQL editing, schema navigation, and management tools for a wide range of rel…
Debezium
Debezium is an open-source distributed platform for change data capture (CDC) that captures row-level changes in databases and streams them as event logs, typi…
Django
Django is a high-level, open-source Python web framework that follows a "batteries-included" philosophy, providing built-in tools for authentication, admin int…
Dolt
Dolt is a SQL database that applies Git-like version control to structured data, letting users branch, diff, merge, and clone entire datasets the way developer…
Drizzle ORM
Drizzle ORM is a lightweight, TypeScript-first ORM and SQL query builder designed for type safety, minimal runtime overhead, and compatibility with serverless…
Ruby on Rails
Ruby on Rails (often just "Rails") is a server-side web application framework written in Ruby that emphasizes convention over configuration and the Model-View-…
Showing 24 of 53.
Study Notes(10)
Join Algorithms in PostgreSQL
Understand the three physical join strategies PostgreSQL can choose — nested loop, hash join, and merge join — and when each one wins.
Locking in PostgreSQL
The row-level and table-level lock modes PostgreSQL uses to coordinate concurrent writers, and how to inspect and reason about lock contention.
MVCC Explained
How PostgreSQL's Multi-Version Concurrency Control lets readers and writers avoid blocking each other by keeping multiple row versions and using visibility rul…
PostgreSQL Architecture Overview
A tour of how PostgreSQL is built internally: the process model, shared memory, the write-ahead log, and the MVCC storage engine that together deliver durabili…
PostgreSQL Backup and Restore
Understand logical and physical backup strategies in PostgreSQL, including pg_dump, pg_basebackup, and point-in-time recovery.
PostgreSQL High Availability Patterns
Learn how to design a highly available PostgreSQL deployment combining replication, automated failover, connection routing, and backups to meet real RTO/RPO ta…
PostgreSQL Interview Questions
Prepare for PostgreSQL technical interviews with commonly asked questions on internals, transactions, indexing, and troubleshooting.
PostgreSQL Performance Tuning
Learn how to diagnose slow queries and tune PostgreSQL configuration, indexing, and query plans for production workloads.
PostgreSQL Quick Reference
A condensed reference of essential PostgreSQL commands, psql shortcuts, and system catalog queries for day-to-day work.
PostgreSQL vs Other Databases
Compare PostgreSQL against MySQL, MongoDB, and other popular databases to understand where it excels and where alternatives may fit better.
Cheat Sheets(3)
PostgreSQL Cheat Sheet
Core PostgreSQL commands covering psql navigation, SQL queries, indexing, and common data types for building and tuning relational databases.
Full-Text Search Cheat Sheet
Covers building full-text search with database-native features like Postgres tsvector and dedicated engines like Elasticsearch, including ranking and indexing.
Change Data Capture Cheat Sheet
Explains log-based versus trigger-based CDC approaches and shows how to configure Debezium with PostgreSQL logical replication for streaming changes.
Interview Questions(30)
Difference Between SQL and NoSQL Databases
SQL databases are relational, store data in structured tables with a fixed schema, and use SQL for querying; NoSQL databases are non-relational, store data in…
What is an Index in a Database?
A database index is a data structure that speeds up read queries by letting the database find rows without scanning the entire table, at the cost of extra stor…
What is a JOIN in SQL?
A SQL JOIN combines rows from two or more tables based on a related column, letting you query normalized data as if it were a single table.
Difference Between Primary Key and Foreign Key
A primary key uniquely identifies each row in a table and cannot be NULL, while a foreign key is a column that references the primary key of another table to l…
Difference Between DELETE, TRUNCATE and DROP
DELETE removes selected rows and can be rolled back, TRUNCATE quickly removes all rows but keeps the table structure, and DROP removes the entire table includi…
What is a View in SQL?
A view is a virtual table defined by a stored SQL query; it holds no data of its own but presents the result of that query as if it were a table whenever you s…
Inner Join vs Outer Join
An INNER JOIN returns only the rows that have matching values in both tables, while an OUTER JOIN (LEFT, RIGHT, or FULL) returns matched rows plus unmatched ro…
What is a Composite Key?
A composite key is a primary key made up of two or more columns that, together, uniquely identify a row, even though no single column among them is unique on i…
HAVING vs WHERE Clause
WHERE filters individual rows before any grouping or aggregation happens, while HAVING filters groups after GROUP BY has aggregated them, so HAVING is the only…
What is a Cursor in SQL?
A cursor is a database object that lets a program process a query result set one row at a time, instead of the usual set-based operation that acts on all match…
CHAR vs VARCHAR
CHAR is a fixed-length string type that always stores and pads to its declared length, while VARCHAR is a variable-length type that stores only the actual char…
What is a Materialized View?
A materialized view is a database object that stores the physical result of a query on disk, unlike a regular view which recomputes its result every time it is…
What is a Partial Index and When Should You Use One?
A partial index is an index built over only the subset of rows that satisfy a WHERE condition, rather than every row in the table, which keeps it smaller, fast…
What is MVCC (Multi-Version Concurrency Control)?
MVCC (Multi-Version Concurrency Control) is a concurrency-control technique where the database keeps multiple versions of a row so readers see a consistent sna…
What is the VACUUM Process in PostgreSQL?
VACUUM is a PostgreSQL maintenance operation that reclaims storage occupied by dead tuples — rows left behind by UPDATE and DELETE under PostgreSQL's MVCC mode…
How Do You Tune Autovacuum in PostgreSQL?
Tuning autovacuum means adjusting how aggressively and how frequently PostgreSQL's background autovacuum workers scan and clean each table, primarily by loweri…
What Causes Table Bloat and How Do You Fix It?
Table bloat is the accumulation of dead or wasted space inside a table's data pages — usually because updates and deletes leave dead tuples faster than autovac…
How Does PostgreSQL Clean Up Dead Tuples?
PostgreSQL cleans up dead tuples — old row versions left behind by UPDATE and DELETE under MVCC — through VACUUM (run manually or by the autovacuum daemon), wh…
What is Index Bloat and When Should You Reindex?
Index bloat is wasted space inside a B-tree index caused by deleted or updated entries whose slots are not fully compacted back, and the fix is to run REINDEX…
When Should You Use a JSON Column Type in a Relational Database?
A JSON column makes sense for semi-structured, sparse, or frequently changing attributes that do not fit cleanly into fixed columns — such as user preferences,…
What Is the Difference Between a UNIQUE Constraint and a UNIQUE Index?
A UNIQUE constraint is a schema-level rule declaring that a column or set of columns must contain no duplicate values, while a UNIQUE index is the physical dat…
What Are TimescaleDB Hypertables and How Do They Work?
A TimescaleDB hypertable is a PostgreSQL table that is automatically partitioned behind the scenes into many smaller physical tables called chunks, typically s…
What are Advisory Locks and When Should You Use Them?
An advisory lock is an application-defined lock that the database manages on behalf of an arbitrary key you choose, rather than automatically on a row or table…
How Does Full-Text Search Work in Relational Databases?
Full-text search in a relational database uses a dedicated inverted-index structure that maps normalized words to the rows containing them, letting the engine…
Showing 24 of 30.