diff --git a/.tabularium b/.tabularium index a1e0aa7..b9f650c 100644 --- a/.tabularium +++ b/.tabularium @@ -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"], diff --git a/CHANGELOG.md b/CHANGELOG.md index 527dccb..12b8ba4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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 diff --git a/CLAUDE.md b/CLAUDE.md index c70a169..6eb36cd 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -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, diff --git a/README.md b/README.md index 6c2d2d4..81576d3 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,14 @@
Tabularis logo - PostgreSQL logo + plus + PostgreSQL logo
# tabularis-postgresql-plugin

-![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) @@ -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) @@ -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 + + + + + + + + + + +
PostgreSQL listed in the Choose a database picker
PostgreSQL in the database picker
PostgreSQL connection form
Connection configuration
Schema browser showing tables, views, and materialized views
Multi-schema browsing
Data grid with a PostgreSQL enum column value
Data grid with enum support
+ ## Connection Configuration | Parameter | Description | Required | @@ -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: diff --git a/assets/plus.svg b/assets/plus.svg new file mode 100644 index 0000000..39d3075 --- /dev/null +++ b/assets/plus.svg @@ -0,0 +1,4 @@ + + + + diff --git a/assets/postgresql-logo-3colors.png b/assets/postgresql-logo-3colors.png new file mode 100644 index 0000000..fd9c7ec Binary files /dev/null and b/assets/postgresql-logo-3colors.png differ diff --git a/assets/screenshots/01-fresh-install.png b/assets/screenshots/01-fresh-install.png new file mode 100644 index 0000000..c881022 Binary files /dev/null and b/assets/screenshots/01-fresh-install.png differ diff --git a/assets/screenshots/02-database-picker.png b/assets/screenshots/02-database-picker.png new file mode 100644 index 0000000..3d50d75 Binary files /dev/null and b/assets/screenshots/02-database-picker.png differ diff --git a/assets/screenshots/03-connection-form.png b/assets/screenshots/03-connection-form.png new file mode 100644 index 0000000..ae0f8ab Binary files /dev/null and b/assets/screenshots/03-connection-form.png differ diff --git a/assets/screenshots/04-test-connection-success.png b/assets/screenshots/04-test-connection-success.png new file mode 100644 index 0000000..f75666d Binary files /dev/null and b/assets/screenshots/04-test-connection-success.png differ diff --git a/assets/screenshots/05-connections-list.png b/assets/screenshots/05-connections-list.png new file mode 100644 index 0000000..bbf7a31 Binary files /dev/null and b/assets/screenshots/05-connections-list.png differ diff --git a/assets/screenshots/06-schema-browser.png b/assets/screenshots/06-schema-browser.png new file mode 100644 index 0000000..7eefeaf Binary files /dev/null and b/assets/screenshots/06-schema-browser.png differ diff --git a/assets/screenshots/07-table-data.png b/assets/screenshots/07-table-data.png new file mode 100644 index 0000000..21e18f1 Binary files /dev/null and b/assets/screenshots/07-table-data.png differ