CLI PostgreSQL sécurisé pour agents IA

VérifiéPrudence

CLI PostgreSQL sécurisé pour interroger des bases de données sans gérer les credentials. Idéal pour l'exploration de données et l'inspection de schémas.

Spar Skills Guide Bot
Data & IADébutant
25/07/2026
Claude CodeCursorCodex
#postgresql#sql-query#database#cli#schema-inspection

Recommandé pour

Synthèse automatique

Skill qui donne à un agent un accès en lecture seule à PostgreSQL via la CLI pglr, sans jamais exposer les identifiants de connexion.

Points forts

  • Sortie JSON normalisée (success, rowCount, rows, executionTimeMs) facile à traiter par l'agent
  • Requêtes paramétrées avec $1 et --params pour éviter l'injection SQL
  • Écritures bloquées par défaut, activables uniquement avec --allow-writes
  • Commandes dédiées tables, describe et schema pour explorer la structure avant de requêter

Limites

  • Nécessite une installation globale de pglr et une configuration humaine préalable de la connexion
  • Plafonné à 1000 lignes par requête, ce qui gêne les exports volumineux
  • Aucune gestion des transactions ni des migrations, uniquement des requêtes unitaires
Quand l'utiliser

À utiliser quand un agent doit explorer un schéma PostgreSQL ou interroger des données sans manipuler lui-même les identifiants.

Quand l'éviter

À éviter si l'on a besoin d'opérations massives, de transactions multi-étapes ou d'un accès direct avec des credentials gérés par l'agent.

Analyse de sécurité

Prudence
Score qualité90/100

The skill is not malicious and does not instruct exfiltration or destructive behavior, but it provides powerful database access and an explicit write capability. The risk is moderated by read-only defaults, restricted allowed-tools, and clear instruction to use writes only when requested.

Points d'attention
  • •Grants database query access through pglr, which can expose sensitive data depending on configured permissions.
  • •Includes a write path via --allow-writes, allowing INSERT/UPDATE/DELETE when explicitly requested; safety depends on pglr's enforcement.
  • •Prerequisite example includes a PostgreSQL connection URL with credentials, which may leak via shell history or process listing if run carelessly.
  • •Depends on a globally installed npm package; supply-chain trust in pglr is assumed.
Comment cette analyse est faite

Exemples

Explore a database schema
Connect to the configured database and give me an overview of the schema, then describe the orders table.
Parameterized lookup
Use pglr to find the user with email user@example.com and show me their id and signup date.
Recent pending orders
Query the 20 most recent pending orders with their id, status and created_at, and summarize them for me.

name: pglr description: Secure PostgreSQL CLI for AI agents. Query databases, list tables, describe schemas without handling credentials. Use when tasks involve database queries, data exploration, or schema inspection. license: MIT compatibility: Requires pglr CLI installed globally (npm install -g pglr). Human must configure connection first. metadata: author: progremir version: "1.0.0" allowed-tools: Bash(pglr:*)

pglr - PostgreSQL CLI for AI Agents

You have access to pglr, a secure PostgreSQL CLI. Use it to query databases without needing connection credentials.

Prerequisites

A human must first configure a connection:

pglr connect postgres://user:pass@host/database

If you get "No connection configured", ask the user to run the connect command.

Commands

Query the database

pglr query "SELECT * FROM users WHERE active = true"

With parameters (prevents SQL injection):

pglr query "SELECT * FROM users WHERE id = $1" --params '[123]'

List all tables

pglr tables

Describe a table's structure

pglr describe users
pglr describe myschema.orders

Get full schema overview

pglr schema

Output Format

All commands return JSON:

{
  "success": true,
  "rowCount": 5,
  "rows": [{"id": 1, "name": "Alice"}, ...],
  "executionTimeMs": 12,
  "truncated": false
}

On error:

{
  "success": false,
  "error": "Table does not exist"
}

Constraints

  • Read-only by default: INSERT, UPDATE, DELETE, DROP are blocked
  • Row limit: Max 1000 rows returned (use LIMIT for smaller results)
  • No credentials access: You cannot see or modify connection details

Write Operations

If the user explicitly requests data modification:

pglr query "INSERT INTO logs (message) VALUES ($1)" --params '["test"]' --allow-writes

Only use --allow-writes when the user explicitly asks to modify data.

Best Practices

  1. Always check table structure first:

    pglr describe users
    
  2. Use parameters for user input:

    # Good - parameterized
    pglr query "SELECT * FROM users WHERE email = $1" --params '["user@example.com"]'
    
    # Bad - string interpolation (SQL injection risk)
    pglr query "SELECT * FROM users WHERE email = 'user@example.com'"
    
  3. Limit results when exploring:

    pglr query "SELECT * FROM large_table LIMIT 10"
    
  4. Use schema command to understand the database:

    pglr schema
    

Multiple Connections

If multiple databases are configured:

# List available connections
pglr connections

# Query specific connection
pglr query "SELECT 1" --connection prod
pglr tables --connection staging

Example Workflow

# 1. Understand the database structure
pglr schema

# 2. Explore a specific table
pglr describe orders

# 3. Query data
pglr query "SELECT id, status, created_at FROM orders WHERE status = $1 ORDER BY created_at DESC LIMIT 20" --params '["pending"]'

Du fichier au premier essai

Le téléchargement contient exactement le contenu affiché sur cette fiche. Cette copie peut différer de la dernière version du dépôt source.

Consulter la source et ses fichiers annexes

Ce téléchargement contient uniquement SKILL.md. Les scripts, références, modèles et dépendances éventuels ne sont pas inclus. Récupérez les fichiers nécessaires depuis la source en conservant leur arborescence avant de poursuivre.

1. Télécharger le fichier

Télécharger SKILL.md

Depuis la racine d’un projet de test, enregistrez le fichier sous .skill-downloads/secure-postgresql-cli-for-ai-agents-mrzxup10/SKILL.md, ou utilisez la commande suivante. Ce dossier sert à examiner la skill avant son installation.

Commande pour macOS/Linux ou WSL : un shell POSIX et curl sont nécessaires. Sous Windows sans WSL, utilisez le bouton de téléchargement et créez le dossier manuellement.

mkdir -p '.skill-downloads/secure-postgresql-cli-for-ai-agents-mrzxup10' && curl --fail --show-error --location 'https://skills-guides.com/api/skills/secure-postgresql-cli-for-ai-agents-mrzxup10/download' --output '.skill-downloads/secure-postgresql-cli-for-ai-agents-mrzxup10/SKILL.md.part' && mv '.skill-downloads/secure-postgresql-cli-for-ai-agents-mrzxup10/SKILL.md.part' '.skill-downloads/secure-postgresql-cli-for-ai-agents-mrzxup10/SKILL.md'

2. Vérifier les prérequis

Lisez SKILL.md avant de l’utiliser. Si le fichier cite des scripts ou services externes, examinez-les et préparez les accès nécessaires dans votre environnement de test.

Environnement déclaré par l’auteur : Requires pglr CLI installed globally (npm install -g pglr). Human must configure connection first.

Outils déclarés par l’auteur (à vérifier dans votre agent) : Bash(pglr:*)

Extrait original : Prerequisites

A human must first configure a connection:

pglr connect postgres://user:pass@host/database

If you get "No connection configured", ask the user to run the connect command.

Les plateformes de la fiche sont des indications du catalogue. Les chemins ci-dessous suivent la documentation des outils ; ils ne prouvent pas que cette skill y a été exécutée. Aucune version minimale de ces outils n’est attestée pour cette fiche.

3. Charger la skill

Après vérification, copiez le dossier complet dans le projet avec l’une des commandes ci-dessous, puis ouvrez une nouvelle session de l’outil. La commande s’arrête si un dossier du même nom existe déjà : comparez les fichiers avant de le remplacer.

Claude Code
test -f '.skill-downloads/secure-postgresql-cli-for-ai-agents-mrzxup10/SKILL.md' && test -s '.skill-downloads/secure-postgresql-cli-for-ai-agents-mrzxup10/SKILL.md' && mkdir -p '.claude/skills' && test ! -e '.claude/skills/pglr' && cp -R '.skill-downloads/secure-postgresql-cli-for-ai-agents-mrzxup10' '.claude/skills/pglr'

Cursor
test -f '.skill-downloads/secure-postgresql-cli-for-ai-agents-mrzxup10/SKILL.md' && test -s '.skill-downloads/secure-postgresql-cli-for-ai-agents-mrzxup10/SKILL.md' && mkdir -p '.cursor/skills' && test ! -e '.cursor/skills/pglr' && cp -R '.skill-downloads/secure-postgresql-cli-for-ai-agents-mrzxup10' '.cursor/skills/pglr'

Codex
test -f '.skill-downloads/secure-postgresql-cli-for-ai-agents-mrzxup10/SKILL.md' && test -s '.skill-downloads/secure-postgresql-cli-for-ai-agents-mrzxup10/SKILL.md' && mkdir -p '.agents/skills' && test ! -e '.agents/skills/pglr' && cp -R '.skill-downloads/secure-postgresql-cli-for-ai-agents-mrzxup10' '.agents/skills/pglr'

OpenSkills

OpenSkills doit déjà être installé. La procédure locale install/read est contrôlée avec OpenSkills 1.5.0, qui exige Node.js ≥ 20.6.0. Aucun slug du catalogue n’est résolu automatiquement.

Installation officielle d’OpenSkills
openskills install './.skill-downloads/secure-postgresql-cli-for-ai-agents-mrzxup10'

openskills read 'secure-postgresql-cli-for-ai-agents-mrzxup10'

La lecture doit afficher le contenu du fichier installé et son dossier de base. Elle ne lance ni la skill ni ses dépendances.

Pour un agent qui lit AGENTS.md, synchronisez ensuite l’index. Cette commande modifie AGENTS.md : relisez le diff avant de l’utiliser.

openskills sync

Mode manuel ou autre outil : joignez SKILL.md à une conversation, ou ouvrez-le dans un agent capable de lire les fichiers. Ajoutez les ressources annexes nécessaires. Il n’existe pas de dossier universel reconnu par tous les outils.

4. Faire un premier essai

Utilisez une entrée courte et fictive : un endpoint d’API, un petit document ou un brief d’interface. Dans une nouvelle conversation, joignez le fichier ou donnez son chemin à l’agent, puis adaptez cette demande :

Lis .skill-downloads/secure-postgresql-cli-for-ai-agents-mrzxup10/SKILL.md et applique ses instructions à cet exemple : [décrire une entrée de test]. Indique les fichiers, dépendances ou accès qui manquent. Produis le résultat demandé par la skill sans inventer de données ni exécuter de script non examiné.

Résultat attendu : une sortie correspondant aux instructions de la skill, ou une liste précise des prérequis manquants. Une simple confirmation de lecture ne valide pas le premier usage. Si une ressource externe est indisponible, ce parcours reste à tester.

Skills similaires