Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 47 additions & 0 deletions .tabularium
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,54 @@
"name": "postgresql",
"version": "1.0.0-beta.4",
"description": "PostgreSQL plugin driver for Tabularis (parity implementation)",
"category": "database",
"tags": ["driver", "postgresql", "postgres", "sql", "relational", "database-driver"],
"license": "Apache-2.0",
"icon": "https://raw.githubusercontent.com/TabularisDB/tabularis-postgresql-plugin/main/postgresql-icon.svg",
"color": "#336791",
"screenshots": [
{
"url": "https://raw.githubusercontent.com/TabularisDB/tabularis-postgresql-plugin/main/assets/screenshots/01-fresh-install.png",
"caption": "Database Manager on first launch",
"alt": "Tabularis Database Manager showing no active connections"
},
{
"url": "https://raw.githubusercontent.com/TabularisDB/tabularis-postgresql-plugin/main/assets/screenshots/02-database-picker.png",
"caption": "PostgreSQL listed in the database picker",
"alt": "Choose a database dialog showing PostgreSQL installed under SQL and Relational categories"
},
{
"url": "https://raw.githubusercontent.com/TabularisDB/tabularis-postgresql-plugin/main/assets/screenshots/03-connection-form.png",
"caption": "Connection configuration form",
"alt": "PostgreSQL connection form with host, port, username, password, and database name fields filled in"
},
{
"url": "https://raw.githubusercontent.com/TabularisDB/tabularis-postgresql-plugin/main/assets/screenshots/04-test-connection-success.png",
"caption": "Successful connection test",
"alt": "Connection form showing a green Connection successful message"
},
{
"url": "https://raw.githubusercontent.com/TabularisDB/tabularis-postgresql-plugin/main/assets/screenshots/05-connections-list.png",
"caption": "Saved connection in the Database Manager",
"alt": "Database Manager showing one saved PostgreSQL connection card"
},
{
"url": "https://raw.githubusercontent.com/TabularisDB/tabularis-postgresql-plugin/main/assets/screenshots/06-schema-browser.png",
"caption": "Multi-schema browsing with tables, views, and materialized views",
"alt": "Sidebar schema tree showing multiple schemas with tables, views, materialized views, and triggers"
},
{
"url": "https://raw.githubusercontent.com/TabularisDB/tabularis-postgresql-plugin/main/assets/screenshots/07-table-data.png",
"caption": "Data grid with filtering, sorting, and enum column support",
"alt": "Data grid showing a table row with a PostgreSQL enum column value, a WHERE filter, and sort controls"
}
],
"readme": "README.md",
"homepage": "https://github.com/TabularisDB/tabularis-postgresql-plugin",
"documentation_url": "https://github.com/TabularisDB/tabularis-postgresql-plugin#readme",
"support": {
"issues_url": "https://github.com/TabularisDB/tabularis-postgresql-plugin/issues"
},
"kind": "driver",
"engine": "postgresql",
"paradigms": ["relational"],
Expand Down
42 changes: 42 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,47 @@
# Changelog

## [Unreleased]

### Added

- README header: a plus icon between the Tabularis and PostgreSQL logos
(`assets/plus.svg`, a lucide-style glyph matching the icon set
`tabularis`'s own frontend uses) to read as "Tabularis + PostgreSQL" at
a glance. Self-hosted a copy of the PostgreSQL project's 3-colors logo
(`assets/postgresql-logo-3colors.png`) instead of hotlinking
`wiki.postgresql.org`, for the same reliability reason `postgresql-icon.svg`
is already self-hosted rather than pointed at a third party.
- `.tabularium`: `screenshots` array (7 real captures, not mockups —
fresh install, database picker, connection form, successful test,
saved connection, multi-schema browser, and a live data grid showing a
real enum value) plus a matching "Screenshots" section in the README,
for the plugin's eventual Tabularium registry submission.
- `.tabularium`: registry-listing metadata fields — `category`, `tags`,
`license`, `readme`, `homepage`, `documentation_url`, `support.issues_url`,
`color` — needed for the plugin's eventual Tabularium registry submission.
These are purely presentational for the registry's plugin-card/detail
page; the builtin driver's own definition
(`tabularis`'s `src/hooks/useDrivers.ts`) has none of them, confirming
they carry no runtime behavior. No version bump warranted.

### Fixed

- README's release badge showed "no releases or repo not found" because
every published release so far (`v1.0.0-beta.1` through `.4`) is flagged
`prerelease: true`, and GitHub's `/releases/latest` API — which the
unqualified `img.shields.io/github/release/...` badge queries — excludes
prereleases by design. Switched to `img.shields.io/github/v/release/...
?include_prereleases`, confirmed rendering `v1.0.0-beta.4` correctly.
- README's installation section and work-in-progress banner were stale:
described a hypothetical "Automatic (via Tabularis)" install path with
no registry to install from yet, and the banner's sign-off checklist
didn't reflect that `tabularis` PR #577's checklist is now fully checked
(though the PR itself remains open/unmerged). Updated both to describe
the actual current state — manual install only, registry submission
pending — and added a "From the Tabularium registry" placeholder section
matching the pattern used by already-published sibling plugins
(`tabularis-elasticsearch-plugin`, `tabularis-duckdb-plugin`).

## [1.0.0-beta.4] - 2026-08-13

### Fixed
Expand Down
14 changes: 9 additions & 5 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,15 @@
## Status

This repo is intended to become the **primary home** for the PostgreSQL
plugin, pending sign-off. Once that happens, `TabularisDB/tabularis` PR #577
pivots from building the plugin in-tree to removing the built-in driver —
see `docs/planning/04-phase-3-deprecate-builtin.md`. For now, leave
`tabularis`'s `plugins/postgres-plugin/` untouched; this repo only receives
additions, nothing is removed from there.
plugin. The sign-off checklist from `TabularisDB/tabularis` PR #577 —
security audit, CI hardening, cross-platform build, the 24-item manual
smoke test, and the full frontend/backend regression pass — is now
complete, but that PR (which pivots from building the plugin in-tree to
removing the built-in driver — see
`docs/planning/04-phase-3-deprecate-builtin.md`) is still open and
unmerged. For now, leave `tabularis`'s `plugins/postgres-plugin/`
untouched; this repo only receives additions, nothing is removed from
there.

The plugin source has landed here as a copy of the in-tree implementation
at commit `ad765f3a` (Phase 1 byte-for-byte parity proven: 82/82 parity,
Expand Down
63 changes: 45 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
<div align="center">
<img src="https://raw.githubusercontent.com/TabularisDB/tabularis/main/public/logo-sm.png" width="120" height="120" alt="Tabularis logo" />
<img src="https://wiki.postgresql.org/images/3/30/PostgreSQL_logo.3colors.120x120.png" width="120" height="120" alt="PostgreSQL logo" />
<img src="assets/plus.svg" width="40" height="40" alt="plus" />
<img src="assets/postgresql-logo-3colors.png" width="120" height="120" alt="PostgreSQL logo" />
</div>

# tabularis-postgresql-plugin

<p align="center">

![Release](https://img.shields.io/github/release/TabularisDB/tabularis-postgresql-plugin.svg?style=flat)
![Release](https://img.shields.io/github/v/release/TabularisDB/tabularis-postgresql-plugin?include_prereleases&style=flat)
![Downloads](https://img.shields.io/github/downloads/TabularisDB/tabularis-postgresql-plugin/total.svg?style=flat)
![CI](https://github.com/TabularisDB/tabularis-postgresql-plugin/workflows/CI/badge.svg)

Expand All @@ -23,24 +24,24 @@ identical to that built-in driver, proven by an 82-test parity suite that runs
both drivers against the same live database and compares every response.

> ⚠️ **Work in progress** — this repo is intended to become the **primary
> home** for the PostgreSQL plugin, pending sign-off. The plugin source has
> landed here (Phase 1 byte-for-byte parity proven: 82/82 parity, 72/72
> baseline, 26/26 golden tests — see
> [the migration plan](./docs/planning/02-phase-1-plugin-build.md)), but
> the [`TabularisDB/tabularis` `plugins/postgres-plugin/`](https://github.com/TabularisDB/tabularis/tree/main/plugins/postgres-plugin)
> copy is left untouched for now. Once this repo is signed off as the beta
> release source of truth, [`tabularis` PR #577](https://github.com/TabularisDB/tabularis/pull/577)
> will pivot from building the plugin in-tree to removing the built-in
> driver.
> home** for the PostgreSQL plugin. The sign-off checklist from
> [`tabularis` PR #577](https://github.com/TabularisDB/tabularis/pull/577)
> — security audit, CI hardening, cross-platform build, the 24-item manual
> smoke test, and the full frontend/backend regression pass — is now
> complete, but that PR (which pivots `tabularis` from building the plugin
> in-tree to removing the built-in driver) is still open and unmerged. The
> [`TabularisDB/tabularis` `plugins/postgres-plugin/`](https://github.com/TabularisDB/tabularis/tree/main/plugins/postgres-plugin)
> copy remains untouched until it merges.

## Table of Contents

- [Features](#features)
- [Screenshots](#screenshots)
- [Connection Configuration](#connection-configuration)
- [Supported PostgreSQL Data Types](#supported-postgresql-data-types)
- [Installation](#installation)
- [Automatic (via Tabularis)](#automatic-via-tabularis)
- [Manual Installation](#manual-installation)
- [From the Tabularium registry](#from-the-tabularium-registry)
- [Manual Installation (current path)](#manual-installation-current-path)
- [How It Works](#how-it-works)
- [Supported Operations](#supported-operations)
- [Building from Source](#building-from-source)
Expand Down Expand Up @@ -74,6 +75,19 @@ both drivers against the same live database and compares every response.
- **Cross-platform** — Pre-built binaries for Linux (x86_64/aarch64), macOS
(x86_64/aarch64), and Windows (x86_64).

## Screenshots

<table>
<tr>
<td><img src="assets/screenshots/02-database-picker.png" alt="PostgreSQL listed in the Choose a database picker" width="400" /><br />PostgreSQL in the database picker</td>
<td><img src="assets/screenshots/03-connection-form.png" alt="PostgreSQL connection form" width="400" /><br />Connection configuration</td>
</tr>
<tr>
<td><img src="assets/screenshots/06-schema-browser.png" alt="Schema browser showing tables, views, and materialized views" width="400" /><br />Multi-schema browsing</td>
<td><img src="assets/screenshots/07-table-data.png" alt="Data grid with a PostgreSQL enum column value" width="400" /><br />Data grid with enum support</td>
</tr>
</table>

## Connection Configuration

| Parameter | Description | Required |
Expand Down Expand Up @@ -101,15 +115,28 @@ both drivers against the same live database and compares every response.

## Installation

### Automatic (via Tabularis)
### From the Tabularium registry

Not yet published — this plugin is being prepared for its first public
release on the [Tabularium registry](https://registry.tabularis.dev), the
same one the [DuckDB](https://github.com/TabularisDB/tabularis-duckdb-plugin)
and [Elasticsearch](https://github.com/TabularisDB/tabularis-elasticsearch-plugin)
plugins already ship through. Once submitted and approved, it'll be
installable directly from Tabularis's in-app plugin browser (**Settings →
Plugins**) — search for **PostgreSQL** and install from there. Track
progress in this repo's issues.

If your version of Tabularis supports plugin management, the PostgreSQL plugin
can be installed directly from the application.
If you point Tabularis at a different Tabularium instance via
`tabulariumRegistryUrl` in `config.json`, make sure that registry has
ingested this plugin's releases first.

### Manual Installation
### Manual Installation (current path)

1. Download the latest release for your platform from the
[Releases page](https://github.com/TabularisDB/tabularis-postgresql-plugin/releases).
[Releases page](https://github.com/TabularisDB/tabularis-postgresql-plugin/releases) —
look for the most recent `1.0.0-beta.N` tag; every release published so
far, including the first public one, ships on the `beta` prerelease
channel (see [Contributing: PR Titles & Versioning](#contributing-pr-titles--versioning)).
2. Extract the archive.
3. Copy `postgresql-plugin` (or `postgresql-plugin.exe` on Windows) and
`.tabularium` into the Tabularis plugins directory:
Expand Down
4 changes: 4 additions & 0 deletions assets/plus.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/postgresql-logo-3colors.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/screenshots/01-fresh-install.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/screenshots/02-database-picker.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/screenshots/03-connection-form.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/screenshots/05-connections-list.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/screenshots/06-schema-browser.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/screenshots/07-table-data.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading