{"id":50955657,"url":"https://github.com/alissonpelizaro/postgly","last_synced_at":"2026-06-18T06:30:43.253Z","repository":{"id":359594920,"uuid":"1246203841","full_name":"alissonpelizaro/postgly","owner":"alissonpelizaro","description":"The modern, local-first PostgreSQL client with a natural-language SQL assistant.","archived":false,"fork":false,"pushed_at":"2026-05-29T19:10:17.000Z","size":24745,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-05-29T20:17:00.444Z","etag":null,"topics":["agentic-ai","database","database-gui","database-management","db","db-admin","dbeaver","dbeaver-alternative","ide","llm","openai","pgadmin","pgadmin-alternative","postgres","postgresql","sqlalchemy"],"latest_commit_sha":null,"homepage":"https://alissonpelizaro.github.io/postgly/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alissonpelizaro.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-22T01:18:42.000Z","updated_at":"2026-05-29T18:44:02.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/alissonpelizaro/postgly","commit_stats":null,"previous_names":["alissonpelizaro/postgly"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/alissonpelizaro/postgly","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alissonpelizaro%2Fpostgly","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alissonpelizaro%2Fpostgly/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alissonpelizaro%2Fpostgly/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alissonpelizaro%2Fpostgly/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alissonpelizaro","download_url":"https://codeload.github.com/alissonpelizaro/postgly/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alissonpelizaro%2Fpostgly/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34479552,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-18T02:00:06.871Z","response_time":128,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agentic-ai","database","database-gui","database-management","db","db-admin","dbeaver","dbeaver-alternative","ide","llm","openai","pgadmin","pgadmin-alternative","postgres","postgresql","sqlalchemy"],"created_at":"2026-06-18T06:30:37.875Z","updated_at":"2026-06-18T06:30:43.247Z","avatar_url":"https://github.com/alissonpelizaro.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n\u003cimg src=\"src/assets/postgly-logo.png\" alt=\"Postgly\" width=\"200\" /\u003e\n\n**What if you could talk to your PostgreSQL?**\n\n_local-first client with a built-in AI agent_\n\n[![CI](https://github.com/alissonpelizaro/postgly/actions/workflows/ci.yml/badge.svg)](https://github.com/alissonpelizaro/postgly/actions/workflows/ci.yml)\n[![Latest release](https://img.shields.io/github/v/release/alissonpelizaro/postgly?style=flat-square\u0026color=blue)](https://github.com/alissonpelizaro/postgly/releases/latest)\n[![License](https://img.shields.io/badge/license-MIT-blue?style=flat-square)](LICENSE)\n\n\u003c/div\u003e\n\n---\n\n## 🧠 Manage your database by talking to it\n\n\u003cimg src=\"docs/img/agent_elicitation.png\" alt=\"Postgly agent chat with human-in-the-loop approval\" /\u003e\n\nOpen the brain button on the top bar and a real agent sits next to your tables. Ask it anything — it inspects your schema with live tool calls, runs SELECTs for you, and proposes writes. Destructive statements never run on their own: an inline approval card shows the SQL, statement kind, `WHERE`-less warnings, and an estimate before you click **Run**.\n\n- **Conversational, not transcriptional.** Sessions live in the side panel, persist 180 days locally, can be renamed, deleted and exported as Markdown.\n- **Real tools, not autocomplete.** `list_tables`, `describe_table`, `list_relations`, `run_select`, `run_write` — every step shows up in a collapsible reasoning trace.\n- **Human-in-the-loop for writes.** INSERTs and UPDATE/DELETE-with-`WHERE` run inline; anything destructive (DROP, TRUNCATE, ALTER, `WHERE`-less DML) pauses for explicit approval.\n- **Bring your own LLM.** Any OpenAI-compatible endpoint — OpenAI, Ollama, Groq, Together, custom. Keys live in the OS keyring.\n\n---\n\n## 📦 Install\n\nInstallers are **unsigned** — the scripts below download the latest release, install it to the standard location, and clear the macOS quarantine attribute for you. One command per OS.\n\n### 🍎 macOS \u0026nbsp;·\u0026nbsp; 🐧 Linux\n\n```bash\ncurl -fsSL https://raw.githubusercontent.com/alissonpelizaro/postgly/main/scripts/install.sh | bash\n```\n\n- macOS: downloads the right `.dmg` for your CPU (Apple Silicon or Intel), copies `Postgly.app` to `/Applications`, runs `xattr -cr` to clear quarantine.\n- Linux: downloads the AppImage to `~/.local/bin/postgly` and marks it executable.\n\nPin a version with `POSTGLY_VERSION=v0.1.0 curl … | bash`.\n\n### 🪟 Windows\n\nIn PowerShell:\n\n```powershell\nirm https://raw.githubusercontent.com/alissonpelizaro/postgly/main/scripts/install.ps1 | iex\n```\n\nDownloads the installer, removes the Mark of the Web (reduces SmartScreen friction), runs the installer. SmartScreen may still show *\"Windows protected your PC\"* on first launch — click **More info → Run anyway**.\n\n---\n\n### Alternative: manual download\n\nIf you prefer not to run a remote script, download the asset and install by hand.\n\n| OS | Asset |\n|---|---|\n| macOS — Apple Silicon | [Postgly-macos-arm64.dmg](https://github.com/alissonpelizaro/postgly/releases/latest/download/Postgly-macos-arm64.dmg) |\n| macOS — Intel | [Postgly-macos-x64.dmg](https://github.com/alissonpelizaro/postgly/releases/latest/download/Postgly-macos-x64.dmg) |\n| Windows | [Postgly-windows-x64-setup.exe](https://github.com/alissonpelizaro/postgly/releases/latest/download/Postgly-windows-x64-setup.exe) |\n| Linux AppImage | [Postgly-linux-x86_64.AppImage](https://github.com/alissonpelizaro/postgly/releases/latest/download/Postgly-linux-x86_64.AppImage) |\n| Debian / Ubuntu | [Postgly-linux-amd64.deb](https://github.com/alissonpelizaro/postgly/releases/latest/download/Postgly-linux-amd64.deb) |\n\n**macOS** — open the `.dmg`, drag **Postgly.app** into `/Applications`, then clear the quarantine attribute (required, the bundle is unsigned):\n\n```bash\nxattr -cr /Applications/Postgly.app\n```\n\nWithout this, macOS refuses to launch with *\"Postgly is damaged\"*.\n\n**Windows** — run the `.exe`. SmartScreen may show *\"Windows protected your PC\"* — click **More info → Run anyway**.\n\n**Linux AppImage**:\n\n```bash\nchmod +x Postgly-linux-x86_64.AppImage \u0026\u0026 ./Postgly-linux-x86_64.AppImage\n```\n\n**Debian / Ubuntu**:\n\n```bash\nsudo dpkg -i Postgly-linux-amd64.deb \u0026\u0026 sudo apt-get install -f\n```\n\n---\n\n## ⚡ Quickstart\n\n1. **Save a connection** in the connection manager.\n2. Open **Settings → LLM Config**, paste your provider's base URL + API key, pick a model, **Test connection**.\n3. Open a database tab, click the **brain icon** on the top right, and start talking:\n\n   \u003e *\"show me the top 10 customers by total order amount this year\"*\n   \u003e\n   \u003e *\"add a `last_seen_at timestamptz` column to users and backfill it from `updated_at`\"*\n\nThe agent inspects your schema, runs the SELECT, returns rows. For writes, you approve from the card.\n\n---\n\n## 🆚 Postgly vs. the usual suspects\n\n| | **Postgly** | **DBeaver** | **pgAdmin** |\n|---|---|---|---|\n| **Conversational AI agent** | ✅ Built-in, free, BYO LLM | ⚠️ Paid AI add-on, prompt-only | ❌ |\n| **Agent runs SQL for you** | ✅ Read + gated writes via tools | ❌ Generates SQL, you run it | ❌ |\n| **Human-in-the-loop on destructive ops** | ✅ Inline approval card + SQL preview | ❌ | ❌ |\n| **Bring your own LLM endpoint** | ✅ Any OpenAI-compatible | ⚠️ Vendor-managed | — |\n| **Setup time** | 🟢 Single installer, no JRE | 🟡 Bundled JRE, ~250 MB | 🟡 Server + Python stack |\n| **Footprint** | 🟢 ~15 MB native app | 🔴 ~250 MB | 🔴 Python + Postgres server |\n| **Cross-platform native binary** | ✅ macOS · Windows · Linux | ✅ (JVM) | ⚠️ Webapp |\n| **Secrets storage** | ✅ OS keyring | ⚠️ App-managed | ⚠️ App-managed |\n| **Open source** | ✅ | ✅ (Community) | ✅ |\n| **PostgreSQL only** | ✅ Focused | ❌ Multi-DB | ✅ |\n\nPostgly is opinionated: PostgreSQL only, small native bundle, the AI agent is a first-class feature instead of a paid add-on.\n\n---\n\n## 🛠 Contributing\n\n```bash\nmake install   # frontend deps + cargo-llvm-cov\nmake dev       # desktop app with hot reload\nmake test      # full suite (unit + integration)\nmake build     # native bundle for the host OS\n```\n\n`make help` lists every target. CI enforces ≥90% backend coverage.\n\n### Tech stack\n\nTauri 2 (Rust) · React 19 + TypeScript · Tailwind 4 · shadcn/ui · lucide-react.\n\n### Releases\n\n```bash\ngit tag v0.1.0 \u0026\u0026 git push origin v0.1.0\n```\n\nBuilds and publishes installers for macOS, Windows and Linux to a draft GitHub Release.\n\n---\n\n## License\n\n[MIT](LICENSE) © Alisson Pelizaro\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falissonpelizaro%2Fpostgly","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falissonpelizaro%2Fpostgly","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falissonpelizaro%2Fpostgly/lists"}