Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Execute safe read-only SQL queries against PostgreSQL databases with multi-connection support and defense-in-depth write protection.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | 23% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 7% | 0% |
| case-13 | ✗→✓ | ▲ Improved | -13% | 0% |
| case-16 | ✗→✓ | ▲ Improved | 15% | 0% |
| case-20 | ✗→✓ | ▲ Improved | 36% | 0% |
Execute safe, read-only queries against configured PostgreSQL databases.
pip install -r requirements.txtCreate connections.json in the skill directory or ~/.config/claude/postgres-connections.json.
Security: Set file permissions to 600 since it contains credentials:
bashchmod 600 connections.json
json{ "databases": [ { "name": "production", "description": "Main app database - users, orders, transactions", "host": "db.example.com", "port": 5432, "database": "app_prod", "user": "readonly_user", "password": "your-password", "sslmode": "require" } ] }
| Field | Required | Description | |-------|----------|-------------| | name | Yes | Identifier for the database (case-insensitive) | | description | Yes | What data this database contains (used for auto-selection) | | host | Yes | Database hostname | | port | No | Port number (default: 5432) | | database | Yes | Database name | | user | Yes | Username | | password | Yes | Password | | sslmode | No | SSL mode: disable, allow, prefer (default), require, verify-ca, verify-full |
bashpython3 scripts/query.py --list
bashpython3 scripts/query.py --db production --query "SELECT * FROM users LIMIT 10"
bashpython3 scripts/query.py --db production --tables
bashpython3 scripts/query.py --db production --schema
bashpython3 scripts/query.py --db production --query "SELECT * FROM orders" --limit 100
Match user intent to database description:
| User asks about | Look for description containing | |-----------------|--------------------------------| | users, accounts | users, accounts, customers | | orders, sales | orders, transactions, sales | | analytics, metrics | analytics, metrics, reports | | logs, events | logs, events, audit |
If unclear, run --list and ask user which database.
readonly=True mode (primary protection)| Error | Solution | |-------|----------| | Config not found | Create connections.json in skill directory | | Authentication failed | Check username/password in config | | Connection timeout | Verify host/port, check firewall/VPN | | SSL error | Try "sslmode": "disable" for local databases | | Permission warning | Run chmod 600 connections.json |
--list to show available databases--tables or --schema to explore structuretriggers, extensions, or an over-privileged account. Use a database role with read-only permissions as the primary control.
database and avoid exporting or sharing results without explicit authorization.
controls.
Other measured skills in the registry, with their headline benchmark lift.