<?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>SQLAlchemy on Manvendra Rajpoot</title>
    <link>https://blog.rajpoot.dev/tags/sqlalchemy/</link>
    <description>Recent content in SQLAlchemy 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/tags/sqlalchemy/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Integration Cheatsheet 01 — Full-Stack Project Skeleton</title>
      <link>https://blog.rajpoot.dev/cheatsheets/integrations/01-full-stack-skeleton-cheatsheet/</link>
      <pubDate>Sat, 16 May 2026 06:00:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/cheatsheets/integrations/01-full-stack-skeleton-cheatsheet/</guid>
      <description>FastAPI &#43; SQLAlchemy &#43; Pydantic &#43; Alembic project skeleton.</description>
    </item>
    <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>SQLAlchemy Cheatsheet 01 — Engine, Pool, and Connection</title>
      <link>https://blog.rajpoot.dev/cheatsheets/sqlalchemy/01-engine-pool-cheatsheet/</link>
      <pubDate>Tue, 12 May 2026 06:00:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/cheatsheets/sqlalchemy/01-engine-pool-cheatsheet/</guid>
      <description>SQLAlchemy 2.0 engine &#43; connection cheatsheet — URLs, pooling, events, lifespan.</description>
    </item>
    <item>
      <title>Alembic Textbook Ch. 1 — Introduction and Setup</title>
      <link>https://blog.rajpoot.dev/textbooks/alembic/01-introduction-setup/</link>
      <pubDate>Sun, 10 May 2026 06:00:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/textbooks/alembic/01-introduction-setup/</guid>
      <description>Chapter 1 — Alembic introduction: what it is, setup, env.py, naming conventions.</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 2.0 Textbook Ch. 1 — Introduction, Core vs ORM, and the 2.0 Mental Model</title>
      <link>https://blog.rajpoot.dev/textbooks/sqlalchemy/01-introduction-core-vs-orm/</link>
      <pubDate>Thu, 07 May 2026 06:00:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/textbooks/sqlalchemy/01-introduction-core-vs-orm/</guid>
      <description>Chapter 1 — SQLAlchemy 2.0 fundamentals: the unified Core/ORM API, engine, connection, the 2.0 style query.</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>SQLAlchemy Cheatsheet 02 — Schema, Mapped Columns, and Types</title>
      <link>https://blog.rajpoot.dev/cheatsheets/sqlalchemy/02-schema-types-cheatsheet/</link>
      <pubDate>Tue, 12 May 2026 06:10:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/cheatsheets/sqlalchemy/02-schema-types-cheatsheet/</guid>
      <description>SQLAlchemy 2.0 schema cheatsheet — Mapped, mapped_column, types, defaults, indexes, constraints.</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 2.0 Textbook Ch. 2 — Engine, Pooling, and Connections</title>
      <link>https://blog.rajpoot.dev/textbooks/sqlalchemy/02-engine-pooling-connections/</link>
      <pubDate>Thu, 07 May 2026 06:10:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/textbooks/sqlalchemy/02-engine-pooling-connections/</guid>
      <description>Chapter 2 — SQLAlchemy engine internals: pooling strategies, connection lifecycle, events, dialects.</description>
    </item>
    <item>
      <title>Integration Cheatsheet 03 — Pydantic ↔ SQLAlchemy Mapping</title>
      <link>https://blog.rajpoot.dev/cheatsheets/integrations/03-pydantic-sqlalchemy-mapping-cheatsheet/</link>
      <pubDate>Sat, 16 May 2026 06:20:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/cheatsheets/integrations/03-pydantic-sqlalchemy-mapping-cheatsheet/</guid>
      <description>Map Pydantic schemas to SQLAlchemy models — Read/Create/Update, from_attributes.</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>SQLAlchemy Cheatsheet 03 — Session and Unit of Work</title>
      <link>https://blog.rajpoot.dev/cheatsheets/sqlalchemy/03-session-cheatsheet/</link>
      <pubDate>Tue, 12 May 2026 06:20:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/cheatsheets/sqlalchemy/03-session-cheatsheet/</guid>
      <description>SQLAlchemy 2.0 session cheatsheet — session lifecycle, flush vs commit, identity map, expire.</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 2.0 Textbook Ch. 3 — Schema and the Type System</title>
      <link>https://blog.rajpoot.dev/textbooks/sqlalchemy/03-schema-and-types/</link>
      <pubDate>Thu, 07 May 2026 06:20:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/textbooks/sqlalchemy/03-schema-and-types/</guid>
      <description>Chapter 3 — SQLAlchemy schema definition: Mapped, mapped_column, types, defaults, indexes, constraints.</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>SQLAlchemy Cheatsheet 04 — select(), where, joins, aggregates</title>
      <link>https://blog.rajpoot.dev/cheatsheets/sqlalchemy/04-select-queries-cheatsheet/</link>
      <pubDate>Tue, 12 May 2026 06:30:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/cheatsheets/sqlalchemy/04-select-queries-cheatsheet/</guid>
      <description>SQLAlchemy 2.0 select() cheatsheet — filters, joins, aggregates, CTEs, subqueries.</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 2.0 Textbook Ch. 4 — The Session and the Unit of Work</title>
      <link>https://blog.rajpoot.dev/textbooks/sqlalchemy/04-session-and-unit-of-work/</link>
      <pubDate>Thu, 07 May 2026 06:30:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/textbooks/sqlalchemy/04-session-and-unit-of-work/</guid>
      <description>Chapter 4 — Sessions in SQLAlchemy 2.0: lifecycle, identity map, flush vs commit, expire, and the unit of work pattern.</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>SQLAlchemy Cheatsheet 05 — Relationships and Loading Strategies</title>
      <link>https://blog.rajpoot.dev/cheatsheets/sqlalchemy/05-relationships-cheatsheet/</link>
      <pubDate>Tue, 12 May 2026 06:40:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/cheatsheets/sqlalchemy/05-relationships-cheatsheet/</guid>
      <description>SQLAlchemy relationships cheatsheet — 1:N, M:N, 1:1, loading strategies, cascade.</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 2.0 Textbook Ch. 5 — Querying with select()</title>
      <link>https://blog.rajpoot.dev/textbooks/sqlalchemy/05-querying-with-select/</link>
      <pubDate>Thu, 07 May 2026 06:40:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/textbooks/sqlalchemy/05-querying-with-select/</guid>
      <description>Chapter 5 — Querying SQLAlchemy: select(), filtering, joins, aggregations, subqueries, CTEs, and the result API.</description>
    </item>
    <item>
      <title>Integration Cheatsheet 06 — Multi-Tenancy Across the Stack</title>
      <link>https://blog.rajpoot.dev/cheatsheets/integrations/06-multitenancy-stack-cheatsheet/</link>
      <pubDate>Sat, 16 May 2026 06:50:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/cheatsheets/integrations/06-multitenancy-stack-cheatsheet/</guid>
      <description>End-to-end multi-tenancy: FastAPI middleware &#43; SQLAlchemy &#43; Postgres RLS.</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>SQLAlchemy Cheatsheet 06 — Transactions and Concurrency</title>
      <link>https://blog.rajpoot.dev/cheatsheets/sqlalchemy/06-transactions-concurrency-cheatsheet/</link>
      <pubDate>Tue, 12 May 2026 06:50:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/cheatsheets/sqlalchemy/06-transactions-concurrency-cheatsheet/</guid>
      <description>SQLAlchemy 2.0 transactions cheatsheet — isolation, savepoints, FOR UPDATE, optimistic locking.</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 2.0 Textbook Ch. 6 — Relationships and Loading Strategies</title>
      <link>https://blog.rajpoot.dev/textbooks/sqlalchemy/06-relationships/</link>
      <pubDate>Thu, 07 May 2026 06:50:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/textbooks/sqlalchemy/06-relationships/</guid>
      <description>Chapter 6 — Relationships in SQLAlchemy 2.0: one-to-many, many-to-many, lazy / eager loading, joinedload, selectinload.</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>SQLAlchemy Cheatsheet 07 — Async Patterns and Streaming</title>
      <link>https://blog.rajpoot.dev/cheatsheets/sqlalchemy/07-async-patterns-cheatsheet/</link>
      <pubDate>Tue, 12 May 2026 07:00:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/cheatsheets/sqlalchemy/07-async-patterns-cheatsheet/</guid>
      <description>SQLAlchemy 2.0 async cheatsheet — AsyncSession, streaming, awaitable_attrs, run_sync.</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 2.0 Textbook Ch. 7 — Transactions and Concurrency</title>
      <link>https://blog.rajpoot.dev/textbooks/sqlalchemy/07-transactions-concurrency/</link>
      <pubDate>Thu, 07 May 2026 07:00:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/textbooks/sqlalchemy/07-transactions-concurrency/</guid>
      <description>Chapter 7 — Transactions and concurrency in SQLAlchemy: isolation levels, savepoints, with_for_update, optimistic locking, deadlock retry.</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>SQLAlchemy Cheatsheet 08 — Performance, N&#43;1, Bulk Ops, Streaming</title>
      <link>https://blog.rajpoot.dev/cheatsheets/sqlalchemy/08-performance-cheatsheet/</link>
      <pubDate>Tue, 12 May 2026 07:10:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/cheatsheets/sqlalchemy/08-performance-cheatsheet/</guid>
      <description>SQLAlchemy 2.0 performance cheatsheet — N&#43;1 prevention, bulk ops, server-side cursors, query analysis.</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 2.0 Textbook Ch. 8 — Async SQLAlchemy in Depth</title>
      <link>https://blog.rajpoot.dev/textbooks/sqlalchemy/08-async-deep-dive/</link>
      <pubDate>Thu, 07 May 2026 07:10:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/textbooks/sqlalchemy/08-async-deep-dive/</guid>
      <description>Chapter 8 — Async SQLAlchemy 2.0: AsyncEngine, AsyncSession, async streaming, lazy loading caveats, and FastAPI integration.</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>SQLAlchemy Cheatsheet 09 — Migrations Integration (Alembic)</title>
      <link>https://blog.rajpoot.dev/cheatsheets/sqlalchemy/09-migrations-integration-cheatsheet/</link>
      <pubDate>Tue, 12 May 2026 07:20:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/cheatsheets/sqlalchemy/09-migrations-integration-cheatsheet/</guid>
      <description>SQLAlchemy &#43; Alembic integration cheatsheet — env.py, autogenerate, naming conventions.</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 2.0 Textbook Ch. 9 — Performance: N&#43;1, Bulk Ops, Streaming</title>
      <link>https://blog.rajpoot.dev/textbooks/sqlalchemy/09-performance/</link>
      <pubDate>Thu, 07 May 2026 07:20:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/textbooks/sqlalchemy/09-performance/</guid>
      <description>Chapter 9 — SQLAlchemy performance: N&#43;1 prevention, bulk inserts, streaming, indexes, query analysis.</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>SQLAlchemy Cheatsheet 10 — Production Patterns</title>
      <link>https://blog.rajpoot.dev/cheatsheets/sqlalchemy/10-production-cheatsheet/</link>
      <pubDate>Tue, 12 May 2026 07:30:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/cheatsheets/sqlalchemy/10-production-cheatsheet/</guid>
      <description>SQLAlchemy 2.0 production cheatsheet — PgBouncer, read replicas, OTEL, multi-tenancy.</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 2.0 Textbook Ch. 10 — Migrations and Schema Evolution</title>
      <link>https://blog.rajpoot.dev/textbooks/sqlalchemy/10-migrations/</link>
      <pubDate>Thu, 07 May 2026 07:30:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/textbooks/sqlalchemy/10-migrations/</guid>
      <description>Chapter 10 — Schema migrations with SQLAlchemy and Alembic: integration patterns, autogenerate, branching, online schema changes.</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 Cheatsheet 11 — Events and Hooks</title>
      <link>https://blog.rajpoot.dev/cheatsheets/sqlalchemy/11-events-hooks-cheatsheet/</link>
      <pubDate>Tue, 12 May 2026 07:40:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/cheatsheets/sqlalchemy/11-events-hooks-cheatsheet/</guid>
      <description>SQLAlchemy 2.0 events cheatsheet — engine, session, mapper, attribute events.</description>
    </item>
    <item>
      <title>SQLAlchemy 2.0 Textbook Ch. 11 — Testing</title>
      <link>https://blog.rajpoot.dev/textbooks/sqlalchemy/11-testing/</link>
      <pubDate>Thu, 07 May 2026 07:40:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/textbooks/sqlalchemy/11-testing/</guid>
      <description>Chapter 11 — Testing SQLAlchemy: per-test transactions, testcontainers, factories, and async test fixtures.</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 Cheatsheet 12 — Repository and Unit-of-Work Pattern</title>
      <link>https://blog.rajpoot.dev/cheatsheets/sqlalchemy/12-repository-pattern-cheatsheet/</link>
      <pubDate>Tue, 12 May 2026 07:50:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/cheatsheets/sqlalchemy/12-repository-pattern-cheatsheet/</guid>
      <description>SQLAlchemy repository pattern cheatsheet — separation of concerns, testability, generic repos.</description>
    </item>
    <item>
      <title>SQLAlchemy 2.0 Textbook Ch. 12 — Production Patterns</title>
      <link>https://blog.rajpoot.dev/textbooks/sqlalchemy/12-production-patterns/</link>
      <pubDate>Thu, 07 May 2026 07:50:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/textbooks/sqlalchemy/12-production-patterns/</guid>
      <description>Chapter 12 — Production SQLAlchemy: connection pooling, read replicas, observability, multi-tenancy, and operational patterns.</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 Cheatsheet 13 — Soft Delete, Audit, and Timestamps</title>
      <link>https://blog.rajpoot.dev/cheatsheets/sqlalchemy/13-soft-delete-audit-cheatsheet/</link>
      <pubDate>Tue, 12 May 2026 08:00:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/cheatsheets/sqlalchemy/13-soft-delete-audit-cheatsheet/</guid>
      <description>SQLAlchemy soft-delete and audit cheatsheet — mixins, event hooks, query filters.</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 Cheatsheet 14 — Multi-Tenancy Patterns</title>
      <link>https://blog.rajpoot.dev/cheatsheets/sqlalchemy/14-multitenancy-cheatsheet/</link>
      <pubDate>Tue, 12 May 2026 08:10:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/cheatsheets/sqlalchemy/14-multitenancy-cheatsheet/</guid>
      <description>SQLAlchemy multi-tenancy cheatsheet — tenant column, schema-per-tenant, DB-per-tenant.</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 Cheatsheet 15 — Common Pitfalls and Fixes</title>
      <link>https://blog.rajpoot.dev/cheatsheets/sqlalchemy/15-common-pitfalls-cheatsheet/</link>
      <pubDate>Tue, 12 May 2026 08:20:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/cheatsheets/sqlalchemy/15-common-pitfalls-cheatsheet/</guid>
      <description>SQLAlchemy 2.0 common pitfalls cheatsheet — the bugs you&amp;#39;ll hit and how to fix them.</description>
    </item>
    <item>
      <title>SQLAlchemy Cheatsheet 16 — Type Annotations and Mapped Style</title>
      <link>https://blog.rajpoot.dev/cheatsheets/sqlalchemy/16-type-annotations-cheatsheet/</link>
      <pubDate>Tue, 12 May 2026 08:30:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/cheatsheets/sqlalchemy/16-type-annotations-cheatsheet/</guid>
      <description>SQLAlchemy 2.0 type-annotation cheatsheet — Mapped, mapped_column, type_annotation_map, custom types.</description>
    </item>
    <item>
      <title>SQLAlchemy Cheatsheet 17 — Inheritance and Polymorphism</title>
      <link>https://blog.rajpoot.dev/cheatsheets/sqlalchemy/17-inheritance-cheatsheet/</link>
      <pubDate>Tue, 12 May 2026 08:40:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/cheatsheets/sqlalchemy/17-inheritance-cheatsheet/</guid>
      <description>SQLAlchemy 2.0 inheritance cheatsheet — single-table, joined-table, concrete inheritance, polymorphic queries.</description>
    </item>
    <item>
      <title>SQLAlchemy Cheatsheet 18 — Hybrid Properties, Computed Columns, and Aggregates</title>
      <link>https://blog.rajpoot.dev/cheatsheets/sqlalchemy/18-hybrid-computed-cheatsheet/</link>
      <pubDate>Tue, 12 May 2026 08:50:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/cheatsheets/sqlalchemy/18-hybrid-computed-cheatsheet/</guid>
      <description>SQLAlchemy 2.0 hybrid_property / computed_column / column_property cheatsheet.</description>
    </item>
    <item>
      <title>SQLAlchemy Cheatsheet 19 — Change Feeds, Outbox, and Logical Replication</title>
      <link>https://blog.rajpoot.dev/cheatsheets/sqlalchemy/19-change-feeds-cheatsheet/</link>
      <pubDate>Tue, 12 May 2026 09:00:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/cheatsheets/sqlalchemy/19-change-feeds-cheatsheet/</guid>
      <description>SQLAlchemy change-feed cheatsheet — outbox pattern, CDC, logical replication, SKIP LOCKED workers.</description>
    </item>
    <item>
      <title>SQLAlchemy Cheatsheet 20 — Recipes (Pagination, Filtering, Sorting, Bulk)</title>
      <link>https://blog.rajpoot.dev/cheatsheets/sqlalchemy/20-recipes-cheatsheet/</link>
      <pubDate>Tue, 12 May 2026 09:10:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/cheatsheets/sqlalchemy/20-recipes-cheatsheet/</guid>
      <description>SQLAlchemy 2.0 recipes — cursor pagination, dynamic filtering, sort builders, bulk upsert.</description>
    </item>
    <item>
      <title>SQLAlchemy 2.0 Deep Patterns in 2026 — Async, Mapped Types, and Production Tricks</title>
      <link>https://blog.rajpoot.dev/posts/python/sqlalchemy-2-deep-patterns-2026/</link>
      <pubDate>Thu, 30 Apr 2026 15:50:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/python/sqlalchemy-2-deep-patterns-2026/</guid>
      <description>SQLAlchemy 2.0 production patterns in 2026 — Mapped types, async, sessions, hybrid properties, batching, and the patterns that scale.</description>
    </item>
    <item>
      <title>FastAPI &#43; Pydantic v2 &#43; SQLAlchemy 2.0 — Production Patterns for 2026</title>
      <link>https://blog.rajpoot.dev/posts/fastapi/fastapi-pydantic-v2-sqlalchemy-2-production/</link>
      <pubDate>Tue, 28 Apr 2026 17:00:00 +0530</pubDate>
      <guid>https://blog.rajpoot.dev/posts/fastapi/fastapi-pydantic-v2-sqlalchemy-2-production/</guid>
      <description>The FastAPI stack worth building on in 2026 — Pydantic v2, async SQLAlchemy 2.0, dependency injection, settings, errors, observability, and the layout that scales past one file.</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>
  </channel>
</rss>
