<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>PostgreSQL on Niraj Kashyap</title>
    <link>https://nirajkashyap.github.io/tags/PostgreSQL/</link>
    <description>Recent content in PostgreSQL on Niraj Kashyap</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Wed, 22 Apr 2026 00:36:59 +0530</lastBuildDate>
    <atom:link href="https://nirajkashyap.github.io/tags/PostgreSQL/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Durable Execution: FSM based Orchestration Platform</title>
      <link>https://nirajkashyap.github.io/posts/Durable-Execution-FSM-based-Orchestration-Platform/</link>
      <pubDate>Fri, 06 Feb 2026 22:16:28 +0530</pubDate>
      <guid>https://nirajkashyap.github.io/posts/Durable-Execution-FSM-based-Orchestration-Platform/</guid>
      <description>&lt;h2 id=&#34;what-is-a-durable-workflow&#34;&gt;What is a Durable Workflow?&lt;a class=&#34;anchor&#34; href=&#34;#what-is-a-durable-workflow&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;A &lt;strong&gt;durable workflow&lt;/strong&gt; is a long‑running, stateful business process that automatically remembers where it left off, survives crashes or restarts, and can resume or retry instead of starting over.&lt;/p&gt;&#xA;&lt;p&gt;Unlike a simple script that runs once and dies, a durable workflow:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Persists its state&lt;/strong&gt; (current step, variables, context) in a database or durable store&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Handles timeouts, retries, and failures&lt;/strong&gt; without losing progress&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Supports human‑in‑the‑loop steps, approvals, and external events&lt;/strong&gt; (e.g., a user clicking “confirm”)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;blockquote class=&#39;book-hint &#39;&gt;&#xA;&lt;p&gt;In effect, durable workflows bring human‑like resilience to automation: they pause, recover, and continue, just like a person who remembers what they’ve already done.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Finite State Machines Backed by PostgreSQL Intro</title>
      <link>https://nirajkashyap.github.io/posts/Finite-State-Machines-Backed-by-PostgreSQL-Intro/</link>
      <pubDate>Tue, 30 Dec 2025 10:37:22 +0530</pubDate>
      <guid>https://nirajkashyap.github.io/posts/Finite-State-Machines-Backed-by-PostgreSQL-Intro/</guid>
      <description>&lt;p&gt;If you’re new to the concept of &lt;strong&gt;Finite State Machines (FSMs)&lt;/strong&gt;, check out my previous blog post: &lt;a href=&#34;https://nirajkashyap.github.io/posts/why-finite-state-machines-are-everywhere-from-software-to-human-life/&#34;&gt;Why Finite State Machines Are Everywhere: From Software to Human Life&lt;/a&gt;. That post explores how FSMs are fundamental to both software systems and real-world processes.&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;finite-state-machine-in-various-languages&#34;&gt;Finite State Machine: In Various Languages&lt;a class=&#34;anchor&#34; href=&#34;#finite-state-machine-in-various-languages&#34;&gt;#&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;FSMs as a concept have been implemented in many programming languages, each with its own data structures and libraries. For example:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;TypeScript/JavaScript&lt;/strong&gt;: &lt;a href=&#34;https://xstate.js.org/&#34;&gt;xstate&lt;/a&gt; is a popular library for modeling FSMs and statecharts.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Python&lt;/strong&gt;: Libraries like &lt;a href=&#34;https://github.com/pytransitions/transitions&#34;&gt;transitions&lt;/a&gt; provide easy-to-use FSM implementations.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Java&lt;/strong&gt;: Frameworks such as &lt;a href=&#34;https://projects.spring.io/spring-statemachine/&#34;&gt;Spring State Machine&lt;/a&gt; offer robust FSM support.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;C#&lt;/strong&gt;: Libraries like &lt;a href=&#34;https://github.com/dotnet-state-machine/stateless&#34;&gt;Stateless&lt;/a&gt; are widely used for FSMs.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Go&lt;/strong&gt;: Libraries like &lt;a href=&#34;https://github.com/looplab/fsm&#34;&gt;looplab/fsm&lt;/a&gt; provide simple and effective FSM implementations for Go.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;These libraries use different data structures—objects, classes, state tables, or even domain-specific languages—to represent states and transitions, but the core principles remain the same.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
