PostgreSQL
Connect
postgresql://user:pass@host:5432/dbname
postgresql://user@localhost/mydb
postgresql://localhost/mydb?sslmode=disable You can also use a postgres:// prefix; both work identically.
Features
All core grip features work against PostgreSQL:
- Inline cell editing with full type awareness (boolean, integer, numeric, text, jsonb, timestamps)
- Batch edits across visual-mode selections
- Mutation preview before apply
- Transaction undo: reverse committed changes
- Schema sidebar with all schemas visible (not just
public) - FK navigation across schemas
- DDL: create tables, rename and add/drop columns, drop with CASCADE
Multi-schema support
The schema sidebar shows all schemas in the database. Tables from non-public schemas appear
as schema.table in the sidebar and are fully editable.
JSON and JSONB columns
JSON and JSONB columns display inline and open in a dedicated JSON viewer when you press K (row view) or e (edit). The editor renders the JSON with syntax highlighting
and writes back valid JSON on apply.
Federation via DuckDB
Attach a PostgreSQL database to a DuckDB session to JOIN it against SQLite, Parquet files, or other sources:
:GripAttach postgres:dbname=mydb host=localhost user=me pg The postgres_scanner extension installs automatically. All tables become accessible
under the pg. prefix.
Requirements
psql must be on your PATH. The grip adapter calls psql to execute queries.
which psql -- must return a path On macOS with Homebrew: brew install postgresql. On Debian/Ubuntu: sudo apt install postgresql-client.