postgres
/postgres
Wykonuje zapytania SQL tylko do odczytu na wielu bazach PostgreSQL: eksploracja schematów i tabel, SELECT do analizy danych i automatyczny wybór bazy, z blokadą operacji zapisu.
- Autor
- sanjay3290 ↗
- Repozytorium
- ai-skills ↗
- Licencja
- Apache-2.0
- Ostatnia zmiana repozytorium
- 10.09.2026
Ocena i bezpieczeństwo
- Pliki w paczce
- 6
- Skrypty
- 1
- Komentarze HTML
- 0
- Adresy URL w SKILL.md
- 0
Brak sygnałów. Repozytorium zmienione 10.09.2026, bez odwołań do wycofanych modeli i API.
Apache-2.0, otwarta: można używać i zmieniać, z zachowaniem licencji i informacji o zmianach.
- 1 skrypt w paczce. Przejrzyj je przed instalacją, bo Claude może je uruchomić.
Skrypty: scripts/query.py
Co robi i kiedy
Wykonuje zapytania SQL tylko do odczytu na wielu bazach PostgreSQL: eksploracja schematów i tabel, SELECT do analizy danych i automatyczny wybór bazy, z blokadą operacji zapisu.
Oryginalny opis (EN)
Execute read-only SQL queries against multiple PostgreSQL databases. Use when: (1) querying PostgreSQL databases, (2) exploring database schemas/tables, (3) running SELECT queries for data analysis, (4) checking database contents. Supports multiple database connections with descriptions for intelligent auto-selection. Blocks all write operations (INSERT, UPDATE, DELETE, DROP, etc.) for safety.
Jak działa
- Requirements
- Setup
- Usage
- Database Selection
- Safety Features
- Troubleshooting
- Exit Codes
- Workflow
Podgląd SKILL.md
---
name: postgres
description: "Execute read-only SQL queries against multiple PostgreSQL databases. Use when: (1) querying PostgreSQL databases, (2) exploring database schemas/tables, (3) running SELECT queries for data analysis, (4) checking database contents. Supports multiple database connections with descriptions for intelligent auto-selection. Blocks all write operations (INSERT, UPDATE, DELETE, DROP, etc.) for safety."
license: Apache-2.0
metadata:
author: sanjay3290
version: "1.0"
---
# PostgreSQL Read-Only Query Skill
Execute safe, read-only queries against configured PostgreSQL databases.
## Requirements
- Python 3.8+
- psycopg2-binary: `pip install -r requirements.txt`
## Setup
Create `connections.json` in the skill directory or `~/.config/claude/postgres-connections.json`.
**Security**: Set file permissions to `600` since it contains credentials:
```bash
chmod 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"
}
]
}
```
### Config Fields
| 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 |
## Usage
### List configured databases
```bash
python3 scripts/query.py --list
```
### Query a database
```bash
python3 scripts/query.py --db production --query "SELECT * FROM users LIMIT 10"
```
### List tables
```bash
python3 scripts/query.py --db production --tables
```
### Show schema
```bash
python3 scripts/query.py --db production --schema
```
### Limit results
```bash
python3 scripts/query.py --db production --query "SELECT * FROM orders" --limit 100
```
## Database Selection
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.
## Safety Features
- **Read-only session**: Connection uses PostgreSQL `readonly=True` mode (primary protection)
- **Query validation**: Only SELECT, SHOW, EXPLAIN, WITH queries allowed
- **Single statement**: Multiple statements per query rejected
- **SSL support**: Configurable SSL mode for encrypted connections
- **Query timeout**: 30-second statement timeout enforced
- **Memory protection**: Max 10,000 rows per query to prevent OOM
- **Column width cap**: 100 char max per column for readable output
- **Credential sanitization**: Error messages don't leak passwords
## Troubleshooting
| 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` |
## Exit Codes
- **0**: Success
- **1**: Error (config missing, auth failed, invalid query, database error)
## Workflow
1. Run `--list` to show available databases
2. Match user intent to database description
3. Run `--tables` or `--schema` to explore structure
4. Execute query with appropriate LIMIT
Pliki w paczce (6)
- .gitignore 1 KB
- README.md 2 KB
- SKILL.md 4 KB
- connections.example.json 1 KB
- requirements.txt 1 KB
- scripts/query.py 9 KB
Wersje
| Repozytorium | Wynik | Licencja |
|---|---|---|
| Ta strona · sanjay3290/ai-skills | 100 | Apache-2.0 |
| magnus919/agent-skills | 100 | MIT |
| nimadorostkar/Claude-Skills-collection | 100 | MIT |
| digitalocean-labs/do-app-platform-skills | 100 | MIT |
| tuannv14/claude-team-toolkit | 100 | MIT |
| timescale/pg-aiguide | 90 | Apache-2.0 |
| nahid-sparktales/agent-dispatcher | 90 | MIT |
Identyczna treść występuje jeszcze w 5 innych folderach na GitHubie. Tu pokazujemy jedną, najlepiej ocenioną kopię.
Migawka bazy z 28.10.2026 · wersja paczki d1148531eb96 (skrót SHA-256 całej paczki)
Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.
Podobne skille
- 100sql-queries
Tłumaczy pytania biznesowe na zapytania SQL i buduje raporty danych w BigQuery, PostgreSQL oraz MySQL. - 100postgres-query
Wykonuje zapytania PostgreSQL do testów, debugowania i analizy wydajności: EXPLAIN ANALYZE, porównanie wyników i testy optymalizacji SQL, domyślnie z połączeniami tylko do odczytu. - 100sql-queries
Układa zapytania SQL z opisu naturalnego, eksploruje bazy i pomaga w raportach dla BigQuery, MySQL oraz PostgreSQL. - 100sql-queries
Generuje zapytania SQL z opisu w języku naturalnym dla BigQuery, PostgreSQL i MySQL, czytając schematy z dokumentacji. - 100query-sql
Pomaga w zapytaniach do lokalnej bazy PostgreSQL przez psql: przegląd schematów, struktur tabel i wykonywanie zapytań. - 100postgres-query
Wykonuje zapytania PostgreSQL do testów, debugowania i analizy wydajności, z obowiązkowym wskazaniem bazy --prod lub --dev (domyślnie produkcyjna) i połączeniami tylko do odczytu.