<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Postgresql on Manvendra Rajpoot</title>
    <link>https://blog.rajpoot.dev/categories/postgresql/</link>
    <description>Recent content in Postgresql on Manvendra Rajpoot</description>
    <image>
      <title>Manvendra Rajpoot</title>
      <url>https://blog.rajpoot.dev/img/personal/cover.png</url>
      <link>https://blog.rajpoot.dev/img/personal/cover.png</link>
    </image>
    <generator>Hugo</generator>
    <language>en</language>
    <copyright>Manvendra Rajpoot</copyright>
    <lastBuildDate>Sun, 17 May 2026 17:50:46 +0530</lastBuildDate>
    <atom:link href="https://blog.rajpoot.dev/categories/postgresql/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>SQLAlchemy &#43; Postgres Cheatsheet 01 — asyncpg / psycopg Setup</title>
      <link>https://blog.rajpoot.dev/cheatsheets/sqlalchemy-postgres/01-asyncpg-psycopg-setup-cheatsheet/</link>
      <pubDate>Wed, 13 May 2026 06:00:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/cheatsheets/sqlalchemy-postgres/01-asyncpg-psycopg-setup-cheatsheet/</guid>
      <description>asyncpg vs psycopg setup, connection args, server settings, PgBouncer config.</description>
    </item>
    <item>
      <title>Postgres SQLAlchemy Textbook Ch. 1 — Dialects, asyncpg vs psycopg, and Postgres Setup</title>
      <link>https://blog.rajpoot.dev/textbooks/sqlalchemy-postgres/01-postgres-dialects-asyncpg-psycopg/</link>
      <pubDate>Fri, 08 May 2026 06:00:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/textbooks/sqlalchemy-postgres/01-postgres-dialects-asyncpg-psycopg/</guid>
      <description>Chapter 1 — SQLAlchemy with Postgres: choosing a driver (asyncpg / psycopg / psycopg2), connection setup, server settings.</description>
    </item>
    <item>
      <title>SQLAlchemy &#43; Postgres Cheatsheet 02 — JSONB Patterns</title>
      <link>https://blog.rajpoot.dev/cheatsheets/sqlalchemy-postgres/02-jsonb-cheatsheet/</link>
      <pubDate>Wed, 13 May 2026 06:10:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/cheatsheets/sqlalchemy-postgres/02-jsonb-cheatsheet/</guid>
      <description>JSONB in SQLAlchemy — column declaration, queries, indexing, updates.</description>
    </item>
    <item>
      <title>Postgres SQLAlchemy Textbook Ch. 2 — JSONB, Arrays, Ranges, and Postgres-Specific Types</title>
      <link>https://blog.rajpoot.dev/textbooks/sqlalchemy-postgres/02-postgres-types-jsonb-arrays/</link>
      <pubDate>Fri, 08 May 2026 06:10:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/textbooks/sqlalchemy-postgres/02-postgres-types-jsonb-arrays/</guid>
      <description>Chapter 2 — Postgres-specific types in SQLAlchemy: JSONB, ARRAY, ranges, citext, INTERVAL, NUMRANGE, INET.</description>
    </item>
    <item>
      <title>SQLAlchemy &#43; Postgres Cheatsheet 03 — Arrays</title>
      <link>https://blog.rajpoot.dev/cheatsheets/sqlalchemy-postgres/03-arrays-cheatsheet/</link>
      <pubDate>Wed, 13 May 2026 06:20:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/cheatsheets/sqlalchemy-postgres/03-arrays-cheatsheet/</guid>
      <description>Postgres ARRAY in SQLAlchemy — column, operations, indexing.</description>
    </item>
    <item>
      <title>Postgres SQLAlchemy Textbook Ch. 3 — Postgres Indexes in SQLAlchemy</title>
      <link>https://blog.rajpoot.dev/textbooks/sqlalchemy-postgres/03-postgres-indexes/</link>
      <pubDate>Fri, 08 May 2026 06:20:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/textbooks/sqlalchemy-postgres/03-postgres-indexes/</guid>
      <description>Chapter 3 — Postgres index types in SQLAlchemy: B-tree, GIN, GiST, BRIN, HASH, partial, expression, INCLUDE.</description>
    </item>
    <item>
      <title>SQLAlchemy &#43; Postgres Cheatsheet 04 — Ranges, INTERVAL, citext, INET</title>
      <link>https://blog.rajpoot.dev/cheatsheets/sqlalchemy-postgres/04-ranges-intervals-cheatsheet/</link>
      <pubDate>Wed, 13 May 2026 06:30:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/cheatsheets/sqlalchemy-postgres/04-ranges-intervals-cheatsheet/</guid>
      <description>Postgres range types, INTERVAL, citext, INET in SQLAlchemy.</description>
    </item>
    <item>
      <title>Postgres SQLAlchemy Textbook Ch. 4 — Full-Text Search</title>
      <link>https://blog.rajpoot.dev/textbooks/sqlalchemy-postgres/04-full-text-search/</link>
      <pubDate>Fri, 08 May 2026 06:30:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/textbooks/sqlalchemy-postgres/04-full-text-search/</guid>
      <description>Chapter 4 — Postgres FTS via SQLAlchemy: tsvector, tsquery, GIN index, ranking, websearch.</description>
    </item>
    <item>
      <title>SQLAlchemy &#43; Postgres Cheatsheet 05 — Indexes (B-tree, GIN, GiST, BRIN, HASH)</title>
      <link>https://blog.rajpoot.dev/cheatsheets/sqlalchemy-postgres/05-indexes-cheatsheet/</link>
      <pubDate>Wed, 13 May 2026 06:40:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/cheatsheets/sqlalchemy-postgres/05-indexes-cheatsheet/</guid>
      <description>Postgres index types in SQLAlchemy — B-tree, GIN, GiST, BRIN, HASH, partial, expression, INCLUDE.</description>
    </item>
    <item>
      <title>Postgres SQLAlchemy Textbook Ch. 5 — Locking, Advisory Locks, and SKIP LOCKED</title>
      <link>https://blog.rajpoot.dev/textbooks/sqlalchemy-postgres/05-locking-advisory/</link>
      <pubDate>Fri, 08 May 2026 06:40:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/textbooks/sqlalchemy-postgres/05-locking-advisory/</guid>
      <description>Chapter 5 — Postgres locking via SQLAlchemy: row locks, advisory locks, SKIP LOCKED, queue patterns.</description>
    </item>
    <item>
      <title>SQLAlchemy &#43; Postgres Cheatsheet 06 — Full-Text Search</title>
      <link>https://blog.rajpoot.dev/cheatsheets/sqlalchemy-postgres/06-fts-cheatsheet/</link>
      <pubDate>Wed, 13 May 2026 06:50:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/cheatsheets/sqlalchemy-postgres/06-fts-cheatsheet/</guid>
      <description>Postgres FTS in SQLAlchemy — tsvector, tsquery, GIN, ranking, websearch.</description>
    </item>
    <item>
      <title>Postgres SQLAlchemy Textbook Ch. 6 — LISTEN / NOTIFY for Pub/Sub</title>
      <link>https://blog.rajpoot.dev/textbooks/sqlalchemy-postgres/06-listen-notify/</link>
      <pubDate>Fri, 08 May 2026 06:50:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/textbooks/sqlalchemy-postgres/06-listen-notify/</guid>
      <description>Chapter 6 — Postgres LISTEN/NOTIFY via asyncpg &#43; SQLAlchemy: real-time triggers, queue wakeup, low-latency events.</description>
    </item>
    <item>
      <title>SQLAlchemy &#43; Postgres Cheatsheet 07 — Locking, SKIP LOCKED, Advisory Locks</title>
      <link>https://blog.rajpoot.dev/cheatsheets/sqlalchemy-postgres/07-locking-cheatsheet/</link>
      <pubDate>Wed, 13 May 2026 07:00:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/cheatsheets/sqlalchemy-postgres/07-locking-cheatsheet/</guid>
      <description>Postgres locking via SQLAlchemy — FOR UPDATE, NOWAIT, SKIP LOCKED, advisory locks.</description>
    </item>
    <item>
      <title>Postgres SQLAlchemy Textbook Ch. 7 — Partitioning Strategies</title>
      <link>https://blog.rajpoot.dev/textbooks/sqlalchemy-postgres/07-partitioning/</link>
      <pubDate>Fri, 08 May 2026 07:00:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/textbooks/sqlalchemy-postgres/07-partitioning/</guid>
      <description>Chapter 7 — Postgres partitioning with SQLAlchemy: declarative partitions, range/list/hash, pg_partman.</description>
    </item>
    <item>
      <title>SQLAlchemy &#43; Postgres Cheatsheet 08 — LISTEN / NOTIFY</title>
      <link>https://blog.rajpoot.dev/cheatsheets/sqlalchemy-postgres/08-listen-notify-cheatsheet/</link>
      <pubDate>Wed, 13 May 2026 07:10:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/cheatsheets/sqlalchemy-postgres/08-listen-notify-cheatsheet/</guid>
      <description>Postgres LISTEN/NOTIFY via asyncpg — real-time pub/sub for SQLAlchemy apps.</description>
    </item>
    <item>
      <title>Postgres SQLAlchemy Textbook Ch. 8 — Row-Level Security and Multi-Tenancy</title>
      <link>https://blog.rajpoot.dev/textbooks/sqlalchemy-postgres/08-rls-multitenancy/</link>
      <pubDate>Fri, 08 May 2026 07:10:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/textbooks/sqlalchemy-postgres/08-rls-multitenancy/</guid>
      <description>Chapter 8 — Postgres RLS via SQLAlchemy: per-row tenant isolation with Postgres RLS policies.</description>
    </item>
    <item>
      <title>SQLAlchemy &#43; Postgres Cheatsheet 09 — Row-Level Security for Multi-Tenancy</title>
      <link>https://blog.rajpoot.dev/cheatsheets/sqlalchemy-postgres/09-rls-multitenancy-cheatsheet/</link>
      <pubDate>Wed, 13 May 2026 07:20:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/cheatsheets/sqlalchemy-postgres/09-rls-multitenancy-cheatsheet/</guid>
      <description>Postgres RLS in SQLAlchemy — policies, contextvars, app role.</description>
    </item>
    <item>
      <title>Postgres SQLAlchemy Textbook Ch. 9 — Upsert, Bulk Insert, and COPY</title>
      <link>https://blog.rajpoot.dev/textbooks/sqlalchemy-postgres/09-upsert-bulk/</link>
      <pubDate>Fri, 08 May 2026 07:20:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/textbooks/sqlalchemy-postgres/09-upsert-bulk/</guid>
      <description>Chapter 9 — Postgres upsert (ON CONFLICT) via SQLAlchemy, bulk insert, COPY for huge loads.</description>
    </item>
    <item>
      <title>SQLAlchemy &#43; Postgres Cheatsheet 10 — Upsert, RETURNING, and COPY</title>
      <link>https://blog.rajpoot.dev/cheatsheets/sqlalchemy-postgres/10-upsert-bulk-cheatsheet/</link>
      <pubDate>Wed, 13 May 2026 07:30:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/cheatsheets/sqlalchemy-postgres/10-upsert-bulk-cheatsheet/</guid>
      <description>Postgres-specific upsert / RETURNING / COPY in SQLAlchemy.</description>
    </item>
    <item>
      <title>Postgres SQLAlchemy Textbook Ch. 10 — Replication, Failover, and pgvector</title>
      <link>https://blog.rajpoot.dev/textbooks/sqlalchemy-postgres/10-replication-failover-pgvector/</link>
      <pubDate>Fri, 08 May 2026 07:30:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/textbooks/sqlalchemy-postgres/10-replication-failover-pgvector/</guid>
      <description>Chapter 10 — Replication, failover handling, and pgvector with SQLAlchemy.</description>
    </item>
    <item>
      <title>SQLAlchemy &#43; Postgres Cheatsheet 11 — Partitioning</title>
      <link>https://blog.rajpoot.dev/cheatsheets/sqlalchemy-postgres/11-partitioning-cheatsheet/</link>
      <pubDate>Wed, 13 May 2026 07:40:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/cheatsheets/sqlalchemy-postgres/11-partitioning-cheatsheet/</guid>
      <description>Postgres partitioning in SQLAlchemy — range/list/hash partitions, pg_partman.</description>
    </item>
    <item>
      <title>SQLAlchemy &#43; Postgres Cheatsheet 12 — pgvector (Embeddings)</title>
      <link>https://blog.rajpoot.dev/cheatsheets/sqlalchemy-postgres/12-pgvector-cheatsheet/</link>
      <pubDate>Wed, 13 May 2026 07:50:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/cheatsheets/sqlalchemy-postgres/12-pgvector-cheatsheet/</guid>
      <description>pgvector with SQLAlchemy — vector column, HNSW / IVFFlat indexes, similarity queries.</description>
    </item>
    <item>
      <title>SQLAlchemy &#43; Postgres Cheatsheet 12 — Schema-Per-Tenant</title>
      <link>https://blog.rajpoot.dev/cheatsheets/sqlalchemy-postgres/12-schema-per-tenant-cheatsheet/</link>
      <pubDate>Wed, 13 May 2026 07:50:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/cheatsheets/sqlalchemy-postgres/12-schema-per-tenant-cheatsheet/</guid>
      <description>Schema-per-tenant pattern in SQLAlchemy with Postgres.</description>
    </item>
    <item>
      <title>SQLAlchemy &#43; Postgres Cheatsheet 13 — Backups, PITR, Logical Backup</title>
      <link>https://blog.rajpoot.dev/cheatsheets/sqlalchemy-postgres/13-backup-pitr-cheatsheet/</link>
      <pubDate>Wed, 13 May 2026 08:00:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/cheatsheets/sqlalchemy-postgres/13-backup-pitr-cheatsheet/</guid>
      <description>Postgres backup options — pg_dump, pg_basebackup, pgBackRest, WAL archiving, point-in-time recovery.</description>
    </item>
    <item>
      <title>SQLAlchemy &#43; Postgres Cheatsheet 13 — DB-Per-Tenant</title>
      <link>https://blog.rajpoot.dev/cheatsheets/sqlalchemy-postgres/13-db-per-tenant-cheatsheet/</link>
      <pubDate>Wed, 13 May 2026 08:00:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/cheatsheets/sqlalchemy-postgres/13-db-per-tenant-cheatsheet/</guid>
      <description>DB-per-tenant pattern in SQLAlchemy — engine cache, lifespan, migrations.</description>
    </item>
    <item>
      <title>SQLAlchemy &#43; Postgres Cheatsheet 14 — pgvector for Embeddings</title>
      <link>https://blog.rajpoot.dev/cheatsheets/sqlalchemy-postgres/14-pgvector-cheatsheet/</link>
      <pubDate>Wed, 13 May 2026 08:10:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/cheatsheets/sqlalchemy-postgres/14-pgvector-cheatsheet/</guid>
      <description>pgvector in SQLAlchemy — vector columns, distance queries, HNSW / IVFFlat indexes.</description>
    </item>
    <item>
      <title>SQLAlchemy &#43; Postgres Cheatsheet 14 — Replication and Failover</title>
      <link>https://blog.rajpoot.dev/cheatsheets/sqlalchemy-postgres/14-replication-failover-cheatsheet/</link>
      <pubDate>Wed, 13 May 2026 08:10:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/cheatsheets/sqlalchemy-postgres/14-replication-failover-cheatsheet/</guid>
      <description>Postgres replication &#43; failover with SQLAlchemy — streaming, logical, Patroni, multi-host URL.</description>
    </item>
    <item>
      <title>SQLAlchemy &#43; Postgres Cheatsheet 15 — Maintenance (VACUUM, ANALYZE, REINDEX)</title>
      <link>https://blog.rajpoot.dev/cheatsheets/sqlalchemy-postgres/15-maintenance-cheatsheet/</link>
      <pubDate>Wed, 13 May 2026 08:20:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/cheatsheets/sqlalchemy-postgres/15-maintenance-cheatsheet/</guid>
      <description>Postgres maintenance — VACUUM, ANALYZE, REINDEX, bloat checks, autovacuum tuning.</description>
    </item>
    <item>
      <title>SQLAlchemy &#43; Postgres Cheatsheet 15 — Replication, Read Replicas, and Failover</title>
      <link>https://blog.rajpoot.dev/cheatsheets/sqlalchemy-postgres/15-replication-failover-cheatsheet/</link>
      <pubDate>Wed, 13 May 2026 08:20:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/cheatsheets/sqlalchemy-postgres/15-replication-failover-cheatsheet/</guid>
      <description>Postgres replication via SQLAlchemy — write/read engines, multi-host failover.</description>
    </item>
    <item>
      <title>SQLAlchemy &#43; Postgres Cheatsheet 16 — Postgres Extensions</title>
      <link>https://blog.rajpoot.dev/cheatsheets/sqlalchemy-postgres/16-extensions-cheatsheet/</link>
      <pubDate>Wed, 13 May 2026 08:30:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/cheatsheets/sqlalchemy-postgres/16-extensions-cheatsheet/</guid>
      <description>Postgres extensions — pg_trgm, citext, uuid-ossp, pg_partman, pg_cron, pgvector, postgis.</description>
    </item>
    <item>
      <title>SQLAlchemy &#43; Postgres Cheatsheet 16 — VACUUM, Bloat, and Maintenance</title>
      <link>https://blog.rajpoot.dev/cheatsheets/sqlalchemy-postgres/16-vacuum-maintenance-cheatsheet/</link>
      <pubDate>Wed, 13 May 2026 08:30:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/cheatsheets/sqlalchemy-postgres/16-vacuum-maintenance-cheatsheet/</guid>
      <description>Postgres maintenance — VACUUM, ANALYZE, bloat, REINDEX, autovacuum tuning.</description>
    </item>
    <item>
      <title>SQLAlchemy &#43; Postgres Cheatsheet 17 — pg_stat_statements and Slow Queries</title>
      <link>https://blog.rajpoot.dev/cheatsheets/sqlalchemy-postgres/17-pg-stat-slow-queries-cheatsheet/</link>
      <pubDate>Wed, 13 May 2026 08:40:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/cheatsheets/sqlalchemy-postgres/17-pg-stat-slow-queries-cheatsheet/</guid>
      <description>Postgres slow-query diagnosis — pg_stat_statements, auto_explain, log_min_duration_statement.</description>
    </item>
    <item>
      <title>SQLAlchemy &#43; Postgres Cheatsheet 18 — Backup, PITR, and Restore</title>
      <link>https://blog.rajpoot.dev/cheatsheets/sqlalchemy-postgres/18-backup-pitr-cheatsheet/</link>
      <pubDate>Wed, 13 May 2026 08:50:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/cheatsheets/sqlalchemy-postgres/18-backup-pitr-cheatsheet/</guid>
      <description>Postgres backups, PITR, pgBackRest, restore drills.</description>
    </item>
    <item>
      <title>SQLAlchemy &#43; Postgres Cheatsheet 19 — Operational Patterns</title>
      <link>https://blog.rajpoot.dev/cheatsheets/sqlalchemy-postgres/19-operational-patterns-cheatsheet/</link>
      <pubDate>Wed, 13 May 2026 09:00:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/cheatsheets/sqlalchemy-postgres/19-operational-patterns-cheatsheet/</guid>
      <description>Production operational patterns — PgBouncer, role separation, statement timeouts, connection limits.</description>
    </item>
    <item>
      <title>SQLAlchemy &#43; Postgres Cheatsheet 20 — Useful Postgres Extensions</title>
      <link>https://blog.rajpoot.dev/cheatsheets/sqlalchemy-postgres/20-extensions-cheatsheet/</link>
      <pubDate>Wed, 13 May 2026 09:10:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/cheatsheets/sqlalchemy-postgres/20-extensions-cheatsheet/</guid>
      <description>Postgres extensions catalog — the ones you&amp;#39;ll actually use.</description>
    </item>
    <item>
      <title>Postgres as a Queue in 2026 — Boring, Reliable, Underrated</title>
      <link>https://blog.rajpoot.dev/posts/postgresql/postgres-as-queue-2026/</link>
      <pubDate>Sun, 03 May 2026 06:40:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/postgresql/postgres-as-queue-2026/</guid>
      <description>Postgres as a job queue in 2026 — SKIP LOCKED, LISTEN/NOTIFY, retry/backoff, and when boring beats Redis/Kafka.</description>
    </item>
    <item>
      <title>Postgres Locking in 2026 — Row Locks, Advisory Locks, and Avoiding Deadlocks</title>
      <link>https://blog.rajpoot.dev/posts/postgresql/postgres-locks-2026/</link>
      <pubDate>Sun, 03 May 2026 06:30:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/postgresql/postgres-locks-2026/</guid>
      <description>Postgres locking patterns in 2026 — row locks, advisory locks, lock modes, deadlock detection, and the patterns from production.</description>
    </item>
    <item>
      <title>Postgres JSONB in 2026 — Indexing, Querying, and When to Stop</title>
      <link>https://blog.rajpoot.dev/posts/postgresql/postgres-jsonb-2026/</link>
      <pubDate>Sat, 02 May 2026 10:30:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/postgresql/postgres-jsonb-2026/</guid>
      <description>Postgres JSONB in 2026 — indexing strategies, query patterns, performance, and when to use JSONB vs proper columns.</description>
    </item>
    <item>
      <title>Postgres Partitioning in 2026 — When, Why, and How to Not Regret It</title>
      <link>https://blog.rajpoot.dev/posts/postgresql/postgres-partitioning-2026/</link>
      <pubDate>Sat, 02 May 2026 08:10:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/postgresql/postgres-partitioning-2026/</guid>
      <description>Practical Postgres partitioning in 2026 — when to partition, partition strategies, pg_partman automation, and the patterns from large-scale Postgres.</description>
    </item>
    <item>
      <title>Postgres Replication Topologies in 2026 — Streaming, Logical, and the Tradeoffs</title>
      <link>https://blog.rajpoot.dev/posts/postgresql/postgresql-replication-topology-2026/</link>
      <pubDate>Sat, 02 May 2026 08:00:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/postgresql/postgresql-replication-topology-2026/</guid>
      <description>Postgres replication topologies in 2026 — streaming, logical, hot standby, cascading, and the patterns from production teams.</description>
    </item>
    <item>
      <title>Hybrid Search with Postgres in 2026 — pgvector &#43; FTS &#43; Reranker</title>
      <link>https://blog.rajpoot.dev/posts/postgresql/postgres-pgvector-hybrid-search-2026/</link>
      <pubDate>Fri, 01 May 2026 04:00:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/postgresql/postgres-pgvector-hybrid-search-2026/</guid>
      <description>How to build hybrid search in Postgres in 2026 — combining pgvector and full-text search with RRF fusion, plus a reranker, for production RAG.</description>
    </item>
    <item>
      <title>Postgres for Time-Series in 2026 — Vanilla vs TimescaleDB vs ClickHouse</title>
      <link>https://blog.rajpoot.dev/posts/postgresql/postgres-time-series-vs-timescale-2026/</link>
      <pubDate>Thu, 30 Apr 2026 23:20:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/postgresql/postgres-time-series-vs-timescale-2026/</guid>
      <description>Time-series in Postgres in 2026 — when vanilla Postgres &#43; partitioning is enough, when TimescaleDB earns its cost, and when to move to ClickHouse.</description>
    </item>
    <item>
      <title>Postgres Row-Level Security in 2026 — Multi-Tenant Without Footguns</title>
      <link>https://blog.rajpoot.dev/posts/postgresql/postgres-row-level-security-2026/</link>
      <pubDate>Thu, 30 Apr 2026 22:10:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/postgresql/postgres-row-level-security-2026/</guid>
      <description>Postgres row-level security in 2026 — policies, tenant isolation, performance, and the patterns that prevent cross-tenant leaks.</description>
    </item>
    <item>
      <title>Postgres VACUUM and Bloat in 2026 — The Operator&#39;s Manual</title>
      <link>https://blog.rajpoot.dev/posts/postgresql/postgres-vacuum-bloat-2026/</link>
      <pubDate>Thu, 30 Apr 2026 19:30:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/postgresql/postgres-vacuum-bloat-2026/</guid>
      <description>Postgres VACUUM, autovacuum tuning, bloat detection, and the operational patterns that keep large Postgres tables performant in 2026.</description>
    </item>
    <item>
      <title>Postgres Performance Tuning Cheat Sheet 2026</title>
      <link>https://blog.rajpoot.dev/posts/postgresql/postgresql-performance-tuning-2026/</link>
      <pubDate>Thu, 30 Apr 2026 15:30:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/postgresql/postgresql-performance-tuning-2026/</guid>
      <description>A practical Postgres performance tuning cheat sheet for 2026 — config knobs, indexing, EXPLAIN reading, vacuum, connection pools, and the diagnostics that find slow queries fast.</description>
    </item>
    <item>
      <title>Postgres Partitioning in 2026 — Range, List, and the Patterns That Scale</title>
      <link>https://blog.rajpoot.dev/posts/postgresql/postgresql-partitioning-2026/</link>
      <pubDate>Thu, 30 Apr 2026 15:20:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/postgresql/postgresql-partitioning-2026/</guid>
      <description>Postgres table partitioning in 2026 — range, list, hash partitioning, partition pruning, attach/detach, and the patterns for huge tables.</description>
    </item>
    <item>
      <title>Postgres Replication and HA in 2026 — Streaming, Logical, and Auto-Failover</title>
      <link>https://blog.rajpoot.dev/posts/postgresql/postgresql-replication-ha-2026/</link>
      <pubDate>Thu, 30 Apr 2026 15:10:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/postgresql/postgresql-replication-ha-2026/</guid>
      <description>Postgres high availability in 2026 — streaming replication, logical replication, Patroni / pg_auto_failover, and the patterns for zero-downtime ops.</description>
    </item>
    <item>
      <title>Postgres CDC and Logical Replication in 2026 — Debezium, pgoutput, and the Outbox Alternatives</title>
      <link>https://blog.rajpoot.dev/posts/postgresql/postgres-cdc-debezium-logical-replication-2026/</link>
      <pubDate>Thu, 30 Apr 2026 11:10:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/postgresql/postgres-cdc-debezium-logical-replication-2026/</guid>
      <description>Postgres change-data-capture in 2026 — logical replication, Debezium, pgoutput, and how to stream every DB change to Kafka, NATS, ClickHouse, or your search index.</description>
    </item>
    <item>
      <title>Distributed SQL in 2026 — CockroachDB, Spanner, Yugabyte, and When You Actually Need One</title>
      <link>https://blog.rajpoot.dev/posts/postgresql/distributed-sql-cockroachdb-spanner-yugabyte-2026/</link>
      <pubDate>Thu, 30 Apr 2026 09:50:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/postgresql/distributed-sql-cockroachdb-spanner-yugabyte-2026/</guid>
      <description>When to reach for distributed SQL in 2026 — CockroachDB, Spanner, Yugabyte, AlloyDB, TiDB — and when single-node Postgres is still the right call.</description>
    </item>
    <item>
      <title>PostgreSQL MVCC, Isolation, and Locking — A Backend Developer&#39;s Guide</title>
      <link>https://blog.rajpoot.dev/posts/postgresql/postgresql-mvcc-isolation-locking/</link>
      <pubDate>Wed, 29 Apr 2026 10:30:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/postgresql/postgresql-mvcc-isolation-locking/</guid>
      <description>PostgreSQL MVCC, isolation levels, and locking explained for backend developers — read committed vs repeatable read vs serializable, row locks, deadlocks, and the patterns that keep transactions correct.</description>
    </item>
    <item>
      <title>PostgreSQL 18 — Async I/O, UUIDv7, Virtual Generated Columns, and What Actually Matters</title>
      <link>https://blog.rajpoot.dev/posts/postgresql/postgresql-18-features-developers-guide/</link>
      <pubDate>Wed, 29 Apr 2026 09:00:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/postgresql/postgresql-18-features-developers-guide/</guid>
      <description>PostgreSQL 18&amp;#39;s most important features for developers — async I/O for up to 3× read perf, native uuidv7(), virtual generated columns, OAuth auth, EXPLAIN buffers by default, and the upgrade gotchas.</description>
    </item>
    <item>
      <title>PostgreSQL JSONB Advanced Patterns — Indexing, Performance, and Pitfalls</title>
      <link>https://blog.rajpoot.dev/posts/postgresql/postgresql-jsonb-advanced-patterns/</link>
      <pubDate>Tue, 28 Apr 2026 20:00:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/postgresql/postgresql-jsonb-advanced-patterns/</guid>
      <description>Advanced PostgreSQL JSONB patterns for production — GIN indexing strategies, query operators, partial indexes, generated columns, and the performance pitfalls that bite at scale.</description>
    </item>
    <item>
      <title>pgvector Deep Dive — HNSW, IVFFlat, and Tuning Postgres for Vector Search</title>
      <link>https://blog.rajpoot.dev/posts/postgresql/pgvector-deep-dive-hnsw-tuning/</link>
      <pubDate>Tue, 28 Apr 2026 16:50:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/postgresql/pgvector-deep-dive-hnsw-tuning/</guid>
      <description>A serious deep dive into pgvector — index types (HNSW vs IVFFlat), distance operators, build parameters, ef_search tuning, and how to make Postgres a competent vector database in production.</description>
    </item>
    <item>
      <title>PostgreSQL Full-Text Search Without an Extra Service</title>
      <link>https://blog.rajpoot.dev/posts/postgresql/postgresql-full-text-search/</link>
      <pubDate>Tue, 28 Apr 2026 14:05:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/postgresql/postgresql-full-text-search/</guid>
      <description>How to add real full-text search to your app using only PostgreSQL — tsvector, tsquery, ranking, GIN indexes, and how to know when to graduate to Elasticsearch.</description>
    </item>
    <item>
      <title>PostgreSQL Indexing and EXPLAIN: Make Slow Queries Fast</title>
      <link>https://blog.rajpoot.dev/posts/postgresql/postgresql-indexing-and-explain/</link>
      <pubDate>Tue, 28 Apr 2026 14:00:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/postgresql/postgresql-indexing-and-explain/</guid>
      <description>A practical, hands-on guide to PostgreSQL indexing and reading EXPLAIN plans — when to add indexes, what kinds to use, and how to debug slow queries.</description>
    </item>
    <item>
      <title>FastAPI &#43; SQLAlchemy &#43; PostgreSQL: A Modern Setup</title>
      <link>https://blog.rajpoot.dev/posts/fastapi/fastapi-with-sqlalchemy/</link>
      <pubDate>Tue, 28 Apr 2026 13:45:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/fastapi/fastapi-with-sqlalchemy/</guid>
      <description>A practical guide to wiring FastAPI to PostgreSQL with SQLAlchemy 2.0 (async), Alembic migrations, and a sane project structure.</description>
    </item>
    <item>
      <title>PostgreSQL Fundamentals Every Backend Developer Should Know</title>
      <link>https://blog.rajpoot.dev/posts/postgresql/postgresql-fundamentals/</link>
      <pubDate>Tue, 28 Apr 2026 13:00:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/postgresql/postgresql-fundamentals/</guid>
      <description>A practical primer on PostgreSQL — the data types, indexing, transactions, and JSONB features that backend developers reach for every day.</description>
    </item>
    <item>
      <title>How to Connect PostgreSQL with Django</title>
      <link>https://blog.rajpoot.dev/posts/django/connect-postgresql-with-django/</link>
      <pubDate>Sun, 21 Jan 2024 22:14:54 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/django/connect-postgresql-with-django/</guid>
      <description>A complete walkthrough for setting up PostgreSQL and wiring it up to a Django project, including environment variables, sensible defaults, and common pitfalls.</description>
    </item>
  </channel>
</rss>
