
Fai interrogare Postgres a Claude
I colleghi chiedono al team tecnico numeri che stanno già nel database.
Come si collega
Questa configurazione è pensata per i team tecnici e data che rispondono di continuo alle stesse domande dei colleghi sul database. Claude si collega a Postgres tramite un server MCP con un ruolo in sola lettura, scrive ed esegue l'SQL e pubblica su Slack i numeri ricorrenti. Ottieni un modo sicuro per fare domande in linguaggio normale, senza dare accesso alla produzione.
Configuralo
1Crea un ruolo in sola lettura
Crea un ruolo Postgres dedicato con LOGIN e concedigli USAGE sugli schemi necessari e SELECT solo sulle tabelle necessarie. Imposta default_transaction_read_only e uno statement_timeout su questo ruolo, così le query lunghe o di scrittura falliscono subito. Non riutilizzare mai l'utente del database della tua applicazione.
Consiglio: Esegui SET ROLE sul nuovo ruolo e prova un INSERT per verificare che fallisca.
2Collegalo a una replica
Collega l'agente a una replica in lettura, o a un database di reporting copiato dalla produzione. Se hai solo il database principale, usa il ruolo in sola lettura con un limite di connessioni basso. Limita l'accesso di rete in modo che solo la macchina su cui gira il server MCP possa raggiungerlo.
Consiglio: Uno statement_timeout di pochi secondi evita che una join fuori controllo si prenda tutte le risorse.
3Registralo in Claude
Aggiungi un server MCP per Postgres, come Postgres MCP Pro in modalità ristretta o un altro server in sola lettura, con la stringa di connessione in sola lettura. Registralo nella configurazione di Claude Desktop, nelle impostazioni MCP di Cursor o con claude mcp add in Claude Code. Tieni la stringa di connessione in una variabile d'ambiente invece che in un file sotto controllo di versione.
Consiglio: Cerca nella documentazione del server un'opzione read-only o restricted e attivala.
4Descrivi lo schema
Scrivi un breve file di note che spieghi le tabelle principali, cosa rappresenta una riga, come si collegano le tabelle e quali colonne contengono importi o date. Aggiungilo a un progetto Claude, a CLAUDE.md o alle regole di Cursor. Chiedi a Claude di mostrare l'SQL eseguito insieme a ogni risposta, così qualcuno può controllarlo.
Consiglio: Includi la definizione dei termini di business, come cliente attivo, così i numeri tornano con le tue dashboard.
5Condividi le risposte
Collega il server MCP di Slack e limitalo a un solo canale per le metriche. Chiedi a Claude di pubblicare la domanda, il numero e l'SQL usato. Per numeri programmati, avvia Claude Code da cron o dalla CI con la stessa configurazione.
Consiglio: Pubblica l'SQL insieme alla risposta, così chiunque può riprodurla.
Poi chiedi e basta
Da sapere
Cosa ti serve
- Un database Postgres in cui puoi creare ruoli e permessi
- Idealmente una replica in lettura o una copia per il reporting
- Claude Desktop, Claude Code o Cursor
- Un canale Slack per le metriche condivise
Limiti
- Claude può scrivere un SQL che funziona ma risponde alla domanda sbagliata: i numeri importanti vanno controllati da una persona.
- I risultati grandi vengono troncati o riassunti; chiedi aggregati invece di righe grezze.
- L'agente conosce solo lo schema e le tue note; la logica di business non documentata nel codice dell'applicazione gli resta invisibile.
Resta al sicuro
- Solo un ruolo di database in sola lettura.
- Escludi le tabelle con dati personali, salvo stretta necessità.
- Preferisci una replica al database principale.





