Przejdź do treści
Biblioteka skilli
Dane i analityka · Analiza

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.

Repozytorium
ai-skills ↗
Licencja
Apache-2.0
Ostatnia zmiana repozytorium
10.09.2026

Ocena i bezpieczeństwo

100/ 100Klasa: dobry
Format25 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność25 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść35 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
Pliki w paczce
6
Skrypty
1
Komentarze HTML
0
Adresy URL w SKILL.md
0
Przestarzałość

Brak sygnałów. Repozytorium zmienione 10.09.2026, bez odwołań do wycofanych modeli i API.

Licencja

Apache-2.0, otwarta: można używać i zmieniać, z zachowaniem licencji i informacji o zmianach.

Co sprawdzić przed instalacją
  • 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

  1. Requirements
  2. Setup
  3. Usage
  4. Database Selection
  5. Safety Features
  6. Troubleshooting
  7. Exit Codes
  8. Workflow
Sekcje z nagłówków SKILL.md, w oryginale · 122 linii, 478 słów
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

RepozytoriumWynikLicencja
Ta strona · sanjay3290/ai-skills100Apache-2.0
magnus919/agent-skills100MIT
nimadorostkar/Claude-Skills-collection100MIT
digitalocean-labs/do-app-platform-skills100MIT
tuannv14/claude-team-toolkit100MIT
timescale/pg-aiguide90Apache-2.0
nahid-sparktales/agent-dispatcher90MIT

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.

Uwagi i zgłoszenia

Wiadomość trafi do Bartosza Sokolińskiego. Adres e-mail jest potrzebny tylko do odpowiedzi. Szczegóły w polityce prywatności.