<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/v0-23-0-sql-server-plugin-with-its-own-explain-parser-postgresql-plugin-migration-with-undo-sql--e0yenzz2m" -->

---
title: v0.23.0: SQL Server plugin with its own EXPLAIN parser,...
description: Version 0.23.0 of the Tabularis database client deprecates its built-in PostgreSQL driver in favor of the separately maintained PostgreSQL plugin, offering a...
canonical: https://daily.dev/posts/v0-23-0-sql-server-plugin-with-its-own-explain-parser-postgresql-plugin-migration-with-undo-sql--e0yenzz2m
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: v0.23.0: SQL Server plugin with its own EXPLAIN parser, PostgreSQL plugin migration with Undo, .sql files open in editor tabs, and a syncable data folder | daily.dev
og:description: Version 0.23.0 of the Tabularis database client deprecates its built-in PostgreSQL driver in favor of the separately maintained PostgreSQL plugin, offering a...
og:url: https://daily.dev/posts/v0-23-0-sql-server-plugin-with-its-own-explain-parser-postgresql-plugin-migration-with-undo-sql--e0yenzz2m
og:image: https://api.daily.dev/og/posts/e0yenZZ2M.png
og:image:alt: v0.23.0: SQL Server plugin with its own EXPLAIN parser, PostgreSQL plugin migration with Undo, .sql files open in editor tabs, and a syncable data folder
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# v0.23.0: SQL Server plugin with its own EXPLAIN parser, PostgreSQL plugin migration with Undo, .sql files open in editor tabs, and a syncable data folder

**[Lonely Programmer](https://daily.dev/sources/lonely_programmer)** · [@andreadebernardi](https://daily.dev/andreadebernardi) · 19 upvotes · 3 comments

## Summary

Version 0.23.0 of the Tabularis database client deprecates its built-in PostgreSQL driver in favor of the separately maintained PostgreSQL plugin, offering a reversible per-connection or bulk migration flow with capability-gap detection and undo. The SQL editor can now open, edit and save .sql files directly from disk without executing them. The app's entire data folder (connections, settings, saved queries) can be relocated to any folder, including iCloud Drive or Dropbox, enabling sync across machines. A new SQL Server plugin (1.0.0-beta.1) ships thanks to a plugin-supplied EXPLAIN parser registry. Two long-standing bugs that dropped keystrokes in the SQL editor are fixed, along with community contributions covering dump file escaping, connections.json field preservation, configurable PostgreSQL pool size, and IME composition handling for shortcuts.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://tabularis.dev/blog/v0230-postgres-plugin-migration-sql-files-storage-location>

## Community discussion

Top comments from developers on daily.dev.

**@trevorsuna** · 1 upvotes

> The reversible PostgreSQL-plugin migration is a thoughtful way to expose capability gaps without trapping users. A syncable data folder is useful too, though connection secrets and concurrent edits need clear handling; I’d want conflict detection and an encrypted-credentials boundary before pointing it at a shared cloud folder.

**@pdfopsdev** · 0 upvotes

> tbh writing your own SQL Server EXPLAIN parser is way more painful than it sounds, the XML plan format changed subtly across 2016/2017/2019 and half the pain is just normalizing that before you can even render it.

**@agustinbarrientos** · 0 upvotes

> Great catch on that stale initialValue loop. A healthy database connection would've sent me looking everywhere except the editor. Losing every third character is properly haunted.

## Similar posts on daily.dev

- [Governing Security in the Age of Infinite Signal](https://daily.dev/posts/governing-security-in-the-age-of-infinite-signal-qhihbir44) · Snyk · 0 upvotes · 0 comments
- [No one has a good plan for how AI companies should work with the government](https://daily.dev/posts/no-one-has-a-good-plan-for-how-ai-companies-should-work-with-the-government-nkajqoze1) · TechCrunch · 0 upvotes · 1 comments

---

Tags: [#sql](https://daily.dev/tags/sql), [#postgresql](https://daily.dev/tags/postgresql), [#tauri](https://daily.dev/tags/tauri)

[View this post on daily.dev](https://daily.dev/posts/v0-23-0-sql-server-plugin-with-its-own-explain-parser-postgresql-plugin-migration-with-undo-sql--e0yenzz2m)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"DiscussionForumPosting","mainEntityOfPage":"https://daily.dev/posts/v0-23-0-sql-server-plugin-with-its-own-explain-parser-postgresql-plugin-migration-with-undo-sql--e0yenzz2m","headline":"v0.23.0: SQL Server plugin with its own EXPLAIN parser, PostgreSQL plugin migration with Undo, .sql files open in editor tabs, and a syncable data folder","text":"Shared: v0.23.0: The PostgreSQL Plugin Takes Over From the Built-in Driver, SQL Files Open in Editor Tabs, and a Data Folder You Can Sync","url":"https://daily.dev/posts/v0-23-0-sql-server-plugin-with-its-own-explain-parser-postgresql-plugin-migration-with-undo-sql--e0yenzz2m","datePublished":"2026-09-11T04:46:16.626Z","dateModified":"2026-09-11T04:46:16.630Z","author":{"@type":"Person","name":"Andrea Debernardi","url":"https://daily.dev/andreadebernardi","image":"https://avatars.githubusercontent.com/u/3198901?v=4","interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"EndorseAction"},"userInteractionCount":3400}},"image":"https://media.daily.dev/image/upload/s--CxzD6vbw--/f_auto/v1722860399/public/Placeholder%2005","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":19},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":3}],"sharedContent":{"@type":"WebPage","url":"https://api.daily.dev/r/rGa1DdvT4"},"comment":[{"@type":"Comment","text":"The reversible PostgreSQL-plugin migration is a thoughtful way to expose capability gaps without trapping users. A syncable data folder is useful too, though connection secrets and concurrent edits need clear handling; I’d want conflict detection and an encrypted-credentials boundary before pointing it at a shared cloud folder.","datePublished":"2026-09-14T08:21:38.178Z","url":"https://daily.dev/posts/e0yenZZ2M#c-My0sPAhlE","author":{"@type":"Person","name":"Trevor Suna","url":"https://daily.dev/trevorsuna","image":"https://media.daily.dev/image/upload/s--dZ7gXxpp--/f_auto/v1784081551/avatars/avatar_EMoP47rpuw8DNjhp6R1b6?_a=BAMAMicg0"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":1}},{"@type":"Comment","text":"tbh writing your own SQL Server EXPLAIN parser is way more painful than it sounds, the XML plan format changed subtly across 2016/2017/2019 and half the pain is just normalizing that before you can even render it.","datePublished":"2026-09-11T18:06:52.236Z","url":"https://daily.dev/posts/e0yenZZ2M#c-NJrR3vA9r","author":{"@type":"Person","name":"PDFops","url":"https://daily.dev/pdfopsdev","image":"https://media.daily.dev/image/upload/s---8isRBKc--/f_auto/v1782922291/avatars/avatar_orjMeK8QKaaVZwGq7ScPz?_a=BAMAMicg0"}},{"@type":"Comment","text":"Great catch on that stale initialValue loop. A healthy database connection would’ve sent me looking everywhere except the editor. Losing every third character is properly haunted.","datePublished":"2026-09-12T21:26:27.306Z","url":"https://daily.dev/posts/e0yenZZ2M#c-Idrsptar4","author":{"@type":"Person","name":"Agustin Barrientos","url":"https://daily.dev/agustinbarrientos","image":"https://media.daily.dev/image/upload/s--5ayxQnqn--/f_auto/v1788281802/avatars/avatar_wQYYVe5Tbj0NJ7C7qPoa8?_a=BAMAMicg0"}}],"isPartOf":{"@type":"WebPage","url":"https://daily.dev/squads/lonely_programmer","name":"Lonely Programmer"}}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Lonely Programmer","item":"https://daily.dev/squads/lonely_programmer"},{"@type":"ListItem","position":3,"name":"v0.23.0: SQL Server plugin with its own EXPLAIN parser, PostgreSQL plugin migration with Undo, .sql files open in editor tabs, and a syncable data folder"}]}
```

