with one click
psql
Run PostgreSQL queries and meta-commands via CLI
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
Run PostgreSQL queries and meta-commands via CLI
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
Generate a project tree annotated with context.md notes to help future sessions, (auto-call at session start)
Generate a project tree annotated with context.md notes to help future sessions, (auto-call at session start)
Clarify requirements before implementing. Do not use automatically, only when invoked explicitly.
Automated PR code review with multi-agent analysis
Capture solved problems as searchable documentation with pattern detection. This skill auto-triggers when users confirm a fix worked ("that worked", "it's fixed", "working now") or manually via /compound command.
GitHub PR utilities for code review workflows
| name | psql |
| description | Run PostgreSQL queries and meta-commands via CLI |
| version | 1.0.0 |
| license | MIT |
| compatibility | opencode |
CLI tool for running SQL queries and psql meta-commands against PostgreSQL databases. Each query is executed directly via the psql CLI - no persistent connection required.
<git-root>/.env or exportedSet these in your .env file or export them:
| Variable | Required | Default | Description |
|---|---|---|---|
PGHOST | Yes | - | Database host |
PGPORT | No | 5432 | Database port |
PGDATABASE | Yes | - | Database name |
PGUSER | Yes | - | Database user |
PGPASSWORD | Yes | - | Database password |
PGSSLMODE | No | - | SSL mode (disable, require, etc.) |
Example .env:
PGHOST=localhost
PGPORT=5432
PGDATABASE=myapp
PGUSER=myapp
PGPASSWORD=secret
PGSSLMODE=disable
Run a SQL query, meta-command, or SQL file.
bun .opencode/skill/psql/query.js <query> [options]
bun .opencode/skill/psql/query.js --file <path> [options]
Arguments:
query - SQL query or meta-command to executeOptions:
--file <path> - Execute SQL file instead of inline query--tuples - Tuples only output (no headers or row count)--timeout <ms> - Query timeout in milliseconds (default: 30000)--json - Wrap output in JSON--help - Show helpExamples:
# SQL queries
bun .opencode/skill/psql/query.js "SELECT * FROM users LIMIT 5;"
bun .opencode/skill/psql/query.js "SELECT COUNT(*) FROM orders WHERE status = 'pending';"
# Meta-commands
bun .opencode/skill/psql/query.js "\dt"
bun .opencode/skill/psql/query.js "\d users"
bun .opencode/skill/psql/query.js "\di"
bun .opencode/skill/psql/query.js "\l"
# Execute SQL file
bun .opencode/skill/psql/query.js --file migrations/001_create_users.sql
bun .opencode/skill/psql/query.js --file scripts/seed_data.sql
# Tuples only (for scripting/parsing)
bun .opencode/skill/psql/query.js "SELECT id FROM users;" --tuples
# With longer timeout for slow queries
bun .opencode/skill/psql/query.js "SELECT * FROM large_table;" --timeout 60000
# List all tables
bun .opencode/skill/psql/query.js "\dt"
# Describe a specific table
bun .opencode/skill/psql/query.js "\d users"
# Show indexes
bun .opencode/skill/psql/query.js "\di"
# Show foreign keys for a table
bun .opencode/skill/psql/query.js "\d+ orders"
# Count records
bun .opencode/skill/psql/query.js "SELECT COUNT(*) FROM orders;"
# Group by aggregation
bun .opencode/skill/psql/query.js "SELECT status, COUNT(*) FROM orders GROUP BY status;"
# Recent activity
bun .opencode/skill/psql/query.js "SELECT * FROM orders WHERE created_at > NOW() - INTERVAL '1 day' ORDER BY created_at DESC LIMIT 10;"
# Check table sizes
bun .opencode/skill/psql/query.js "SELECT relname, pg_size_pretty(pg_total_relation_size(relid)) FROM pg_catalog.pg_statio_user_tables ORDER BY pg_total_relation_size(relid) DESC LIMIT 10;"
# Check active connections
bun .opencode/skill/psql/query.js "SELECT count(*) FROM pg_stat_activity WHERE state = 'active';"
# List databases
bun .opencode/skill/psql/query.js "\l"
# Execute a migration file
bun .opencode/skill/psql/query.js --file migrations/001_create_users.sql
# Execute seed data
bun .opencode/skill/psql/query.js --file scripts/seed.sql
--tuples for clean output without headers (useful for piping to other tools)--json for structured output when parsing programmaticallypsql invocation (no persistent connection)\) work the same as SQL queries--timeout increased from the default 30 seconds--tuples flag is useful when you need to parse output or pipe to other commands