logo Nilo

PostgreSQL multi-tenant parla PostgreSQL

Collegare Nilo per Excel, Fogli Google, IA e REST

Nile: PostgreSQL per applicazioni B2B multi-tenant. La creazione di report qui consente di visualizzare i dati di ogni tenant, che è solitamente l'obiettivo principale.

Un collegamento, ogni superficie

Dove possono andare i tuoi dati sul Nilo

Query Streams legge i dati da Nile provenienti da Microsoft Excel, Fogli Google, Power BI, assistenti AI tramite MCP e un endpoint REST attraverso un'unica connessione di sola lettura. Nile virtualizza i tenant all'interno di un singolo database PostgreSQL anziché assegnarne uno a ciascun cliente, pertanto le tabelle che riconoscono i tenant contengono una colonna `tenant_id` e una singola connessione può visualizzarle tutte. La tua applicazione si limita a un solo tenant alla volta; una connessione di reporting no, e per le analisi tra clienti questo è esattamente il comportamento desiderato.

Nile è PostgreSQL in rete — il driver standard, quindi ogni guida seguente si applica senza modifiche. L'unica parte specifica di Nile è la stringa di connessione, trattata sotto dettagli di connessione.

  1. Per il tuo team, i fornitori e i partner
  2. Da Nilo a Excel Microsoft Excel · Componente aggiuntivo di Excel

    Importa i risultati in tempo reale di Nile direttamente in un foglio di calcolo e aggiornali a piacimento: Excel per desktop, Excel Online, Microsoft 365.

    Guida a PostgreSQL
  3. Da Nilo a Fogli Google Componente aggiuntivo Fogli

    Esegui una query Nile salvata dalla barra laterale e trascina le righe nel foglio. I collaboratori che condividono il foglio possono aggiornarlo autonomamente.

    Guida a PostgreSQL
  4. Chiedi a Nova informazioni su Nilo Nova AI · conversione da testo a SQL

    Poni una domanda in un linguaggio semplice. Nova conosce già le tue tabelle Nile, scrive ed esegue la query SQL, spiega la risposta e la rappresenta graficamente: non è necessario scrivere alcuna query né fornire credenziali.

    Come funziona la rosa
  5. Nilo a visualizzatore di dati Condivisione dei risultati · team, fornitori, partner · telefono, tablet, computer fisso

    Condividi i risultati di una query Nile in tempo reale con chiunque – un collega, un fornitore, un partner – sotto forma di griglia salvabile che si aggiorna automaticamente all'apertura, su smartphone, tablet o computer. L'interlocutore visualizzerà i risultati, senza mai dover scrivere query SQL o richiedere le credenziali.

    Come funziona il visualizzatore di dati
  6. Per app e sistemi
  7. API REST di Nile Endpoint dell'HT

    Pubblica una query Nile come endpoint JSON autenticato che qualsiasi applicazione può richiamare, con una specifica OpenAPI 3.1 e raccolte predefinite per Postman, Insomnia e Hoppscotch. Non viene aperta alcuna porta del database.

    Guida a PostgreSQL
  8. Nilo a Power BI Power Query M

    Incolla la query Power Query M generata nell'editor avanzato di Power BI e il report visualizzerà i risultati di Nile in tempo reale tramite HTTPS, senza bisogno di driver ODBC o porte di database aperte.

    Come funziona Power BI
  9. Dal Nilo ad Airtable Piattaforma di automazione

    Sincronizza le righe di Nile con un database Airtable a intervalli regolari, oppure recuperale tramite uno script di automazione di Airtable.

    Guida a PostgreSQL
  10. Dal Nilo a Baserow Piattaforma di automazione

    Alimenta una tabella Baserow da Nile tramite l'endpoint REST, sia in locale che nel cloud di Baserow.

    Guida a PostgreSQL
  11. Nilo a SeaTable Piattaforma di automazione

    Mantieni aggiornato il database di SeaTable con i dati del Nilo senza esportare un file o esporre il database stesso.

    Guida a PostgreSQL
  12. Nilo a Smartsheet Piattaforma di automazione

    Inserisci i risultati di Nile in una griglia di Smartsheet in modo che piani e report vengano letti dal sistema di origine e non dall'esportazione della settimana precedente.

    Guida a PostgreSQL
  13. Dal Nilo ad Anvil Anvil Works · Piattaforma per app

    Esegui il backup di un'applicazione Anvil Python con Nile tramite l'endpoint REST anziché incorporare le credenziali del database nell'applicazione.

    Guida a PostgreSQL
  14. Per gli strumenti di intelligenza artificiale
  15. Server Nile MCP Clienti di Claude, Cursor e MCP

    Concedi a un assistente IA l'accesso in sola lettura a Nile con lo schema necessario per scrivere codice SQL corretto, senza fornire credenziali nella chat.

    Guida a PostgreSQL
  16. Consegnato alle persone
  17. Allerte e segnalazioni sul Nilo Slack · Discord · Email · Webhook

    Imposta una query Nile in modo che venga eseguita a intervalli regolari e i risultati vengano recapitati a Slack, Discord, via email o tramite un webhook firmato, oppure trattieni il messaggio finché il numero di righe, una soglia o una variazione percentuale non superano il valore da te impostato.

    Come funzionano gli avvisi e i report

Come funziona

5 passaggi, nessuna modifica al firewall in entrata

01

Installa l'agente di rete su una macchina in grado di accedere a Internet. Apre una sola connessione in uscita e non rimane mai in ascolto, quindi non è necessaria alcuna regola firewall in entrata.

02

Nella console di Nile, apri il database, quindi Impostazioni e Connessione e scegli l'opzione PostgreSQL.

03

Genera delle credenziali se non ne possiedi già. Nile mostra la password una sola volta, in quel preciso istante, quindi copiala prima di lasciare la pagina.

04

Incolla la stringa di connessione nel primo campo. Host, porta, database, nome utente e password verranno letti automaticamente.

05

Lascia attiva l'opzione "Usa SSL", testa e salva. Potrai leggere i dati da Microsoft Excel, Fogli Google, Power BI, MCP o tramite REST attraverso quella singola connessione.

Analisi approfondita delle funzionalità

Ciò che il Nilo ti offre

Un database, ogni inquilino, una query

Il modello di Nile è la parte interessante di questo connettore e cambia il concetto stesso di connessione di reporting.

  • Nile mantiene tutti i tenant in un unico database Postgres e li separa con una colonna tenant_id nelle tabelle specifiche per ogni tenant, anziché assegnare a ciascun cliente un database o uno schema separato.
  • La tua applicazione imposta un contesto tenant per ogni connessione e quindi vede un cliente alla volta. Una connessione Query Streams non imposta tale contesto, quindi vede tutti i clienti.
  • Questo rende la creazione di report cross-tenant una semplice operazione GROUP BY anziché un progetto di integrazione. Utilizzo per cliente, ricavi per piano o quali account non hanno effettuato l'accesso questo mese sono tutti elementi rappresentati in un unico report.
  • Significa anche che il controllo degli accessi è a tua completa discrezione. Una connessione in questo caso non è vincolata a un singolo tenant, quindi se hai bisogno di report per cliente, filtra in base al tenant_id nella query salvata e condividi quella query anziché la connessione.
  • Tutto ciò che l'agente esegue è di sola lettura, quindi nulla qui può modificare i dati del tenant, indipendentemente da ciò che dice la query.
-- La creazione di report tra tenant è un normale GROUP BY SELECT t.name AS tenant, COUNT(o.id) AS orders, SUM(o.amount) AS revenue FROM public.tenants AS t JOIN public.orders AS o ON o.tenant_id = t.id WHERE o.placed_at >= now() - interval '30 days' GROUP BY t.name ORDER BY revenue DESC;

Le credenziali vengono mostrate una sola volta e gli endpoint regionali sono i normali Postgres

Due note pratiche che illustrano la maggior parte delle operazioni che si svolgono durante la configurazione.

  • Nile genera un ID di credenziale come nome utente e mostra la password una sola volta. Se la perdi, generane una nuova invece di tentare di recuperare quella vecchia.
  • Gli endpoint sono regionali e terminano con .db.thenile.dev, sulla porta standard 5432. Non è presente alcun pooler in questo percorso e l'agente non applica adattamenti al pooler.
  • TLS è richiesto e l'agente lo impone per i nomi host Nile, quindi deselezionare la casella di controllo SSL non produce una connessione non crittografata. La catena di certificati non è verificata. — interpretatelo come una protezione contro chiunque intercetti il traffico, non come una prova di quale server abbia risposto.
  • La stringa di connessione incollata viene eliminata una volta compilati i campi, in modo che la password venga memorizzata in un unico posto anziché in due.

Condiviso da ogni connettore di database

Vero per ogni connettore di database

  • Solo in uscita — l'agente apre una connessione crittografata verso Query Streams. Nessuna porta in entrata da inoltrare, nessuna VPN, nessuna lista IP consentita, nessuna informazione sul database esposta a Internet.
  • Le credenziali restano al loro posto — Il nome utente e la password del database risiedono sul computer su cui è installato l'agente. Query Streams non li riceve mai e non può accedere al database autonomamente.
  • Sola lettura, forzata — un'istruzione alla volta, solo SELECT e simili. Una scrittura viene rifiutata sulla propria macchina prima ancora di essere inviata al server, anziché fare affidamento su un permesso che qualcuno si è ricordato di impostare.
  • Distribuisci tutti gli agenti che desideri — uno per sito, regione o cloud. Tutte le fonti di dati che possono visualizzare vengono visualizzate in un unico menu a tendina, quindi nessuno deve sapere quale agente ospita cosa.

Ecco cosa si ottiene una volta salvata una query.

  • Condividi la funzionalità, non l'SQL — un collega o un partner esterno può eseguire la tua query e modificarne i filtri senza mai visualizzare l'istruzione sottostante.
  • Filtri da entrambe le direzioni — dichiarali tu stesso come @variabili, oppure lascia che il connettore rilevi i valori letterali già presenti nella clausola WHERE e li offra come menu a tendina.
  • Leggilo ovunque Microsoft Excel, Fogli Google, Power BI, l'API REST, gli assistenti AI tramite MCP, Query Builder e Nova leggono tutti la stessa query salvata.
  • Eseguine diversi contemporaneamente — cinque query salvate in cinque schede di fogli di lavoro, eseguite simultaneamente, indipendentemente dalle dimensioni dei risultati.
  • Collegalo a qualsiasi altro dispositivo che hai già connesso. — un altro database, un'API aziendale o una cartella di file, in un'unica istruzione di sola lettura.

SQL tra sorgenti diverse

Integra Nile con il resto dei tuoi dati

Una singola istruzione può estendersi contemporaneamente a Nile e alle altre connessioni. Ogni sorgente esegue solo la parte che può, trasmette il risultato e l'unione avviene centralmente: le sorgenti non comunicano mai tra loro e nulla viene copiato da nessuna parte.

3 connessioni · 3 agenti

Nilo PostgreSQL multi-tenant
Microsoft SQL Server Motore relazionale
Striscia Pagamenti e fatturazione

Una dichiarazione

-- niente copiato, niente unito, niente programmato
SELEZIONARE   c.region, COUNT(*) AS ordini, SUM(i.amount_due) AS fatturati
DA     app nile.ordini pubblici1  f
CONGIUNGERE     erp_sql.dbo.clienti2   c ON c.id = f.customer_id
CONGIUNGERE     fatturazione.stripe.invoices3 i ON i.customer = c.stripe_id
GRUPPO PER c.regione
ORDINATO DA fatturata DESCRIZIONE;

Le tre parti sono connessione, schema e tabella, e il nome della connessione è quello che le hai assegnato. Le colonne sono a scopo illustrativo; le tue tabelle saranno le tue tabelle. La modalità di sola lettura si applica a ogni elemento: solo SELECT, WITH ed EXPLAIN, con un limite massimo alla quantità di dati che una singola fonte può fornire per una singola query. Come funzionano le query federate

Dettagli di connessione

Di cosa ha bisogno il Nilo

Ospite
<region>.db.thenile.dev
Porto
5432
Autista
Npgsql, trasportato dall'agente: niente da installare sul lato Nilo
Formato incolla
La stringa da Database, Impostazioni, Connessione, PostgreSQL — come URI postgres://
Nome utente
L'ID delle credenziali generato dalla console, non un indirizzo email.
TLS
Obbligatorio e imposto per i nomi host Nile. Crittografato; la catena di certificati non è verificata.
Pooling
Nessuno. L'agente non applica alcun adattamento pooler per Nilo
Ambito di applicazione del locatario
Non è impostato alcun contesto tenant, quindi la connessione vede tutti i tenant. Filtra in base a tenant_id nella query quando ne hai bisogno.
Salvato come
PostgreSQL, con Nile mantenuto come distintivo
Schema predefinito
pubblico, che è ciò che un riferimento federato comporta

È importante comprendere Nile come target di reporting proprio per ciò che non fa in questo contesto. L'isolamento dei tenant, che lo rende utile come base di partenza, viene applicato per ogni connessione, dall'applicazione stessa, quando imposta un contesto tenant. Una connessione di reporting che non ne imposta mai uno non sta aggirando un controllo, ma sta utilizzando il database nel modo previsto dal modello per un operatore che ha bisogno di visualizzare l'intera infrastruttura.

La conseguenza pratica è che la decisione relativa all'ambito di applicazione si sposta nella query anziché nella connessione. Aggiungendo un filtro tenant_id a una query salvata e condividendo tale query si ottiene una visualizzazione con ambito cliente senza fornire a nessuno la connessione, che è lo stesso schema utilizzato da Query Streams ovunque: condividere la possibilità di eseguire qualcosa, non le credenziali ad essa associate.

Per una query cross-source, Nile si comporta come un normale PostgreSQL. Una connessione chiamata nile_app viene scritta come nile_app.public.orders e si connette a una cartella di file CSV, a un sistema di registrazione locale o a un'API di fatturazione con un'unica istruzione di sola lettura, senza copiare nulla e senza alcuna pianificazione.

Documentazione del fornitore: www.thenile.dev

FAQ

Domande sul Nilo

Quali strumenti sono in grado di leggere i dati del Nilo tramite Query Streams?

Tutto questo, da un'unica connessione: Excel, Fogli Google, MCP, API REST, Airtable, Baserow, SeaTable, Smartsheet, Anvil, Power BI, avvisi e report programmati. Collega il database una sola volta e ogni strumento leggerà la stessa connessione di sola lettura: non è necessaria alcuna configurazione per ogni strumento e non ci sono seconde copie dei dati.

Devo aprire una porta del firewall per il mio database Nile?

No. L'agente di rete di Query Streams viene eseguito all'interno della rete locale e apre una singola connessione crittografata in uscita. Nessun sistema intercetta il traffico in entrata, non è necessaria una VPN e il database mantiene le regole del firewall esistenti.

È possibile modificare i dati in Nile tramite Query Streams?

No. L'agente impone la sola lettura nel punto di esecuzione: un'istruzione alla volta, solo SELECT e simili. Le credenziali rimangono sull'agente e non vengono mai inviate a Query Streams.

Di cosa ha bisogno Query Streams per connettersi a Nile?

Un host raggiungibile, un ruolo e la relativa password: l'agente include il driver, quindi non è necessario installare nulla sul database. Host: <region>.db.thenile.dev. Porta: 5432. Driver: Npgsql, incluso nell'agente: non è necessario installare nulla sul lato Nile. Formato di incolla: la stringa da Database, Impostazioni, Connessione, PostgreSQL, come URI postgres://.

Posso unire Nile a un altro database nella stessa query?

Sì, si tratta di una query federata. Un'unica istruzione può fare riferimento a Nile e alle altre connessioni contemporaneamente, come indicato in `connection.schema.table`. Ogni origine esegue solo la parte di cui è competente e restituisce il risultato; l'unione avviene centralmente, quindi le origini non si connettono mai tra loro e nulla viene copiato o pianificato. La modalità di sola lettura si applica a ogni parte (solo SELECT, WITH ed EXPLAIN) e esiste un limite massimo alla quantità di dati che una singola origine può cedere per una singola query. Le query federate sono una funzionalità del piano; la pagina delle query federate riporta i limiti attuali relativi alle origini e alle dimensioni.

La connessione a Nile è diversa dalla connessione a PostgreSQL?

Solo la stringa di connessione. Nile utilizza il protocollo di rete di PostgreSQL, quindi filtri, pianificazione, condivisione, i componenti aggiuntivi per Excel e Fogli Google e il server MCP si comportano tutti allo stesso modo. La scheda Nile precompila le impostazioni di host, porta e SSL previste dal provider.

Esiste una guida da Nile a Excel?

Sì, si tratta della guida per PostgreSQL, ed è corretta anche per Nile. Nile utilizza il protocollo di rete di PostgreSQL, quindi la connessione da Nile a Excel, da Nile a Fogli Google e a qualsiasi altra destinazione segue gli stessi passaggi. L'unica parte specifica di Nile è la stringa di connessione, che viene inserita automaticamente nella scheda Nile.

Metti Nile dove si svolge il lavoro

Installa l'agente, configuralo per connettersi al tuo database e scegli una destinazione.

Sola lettura Solo in uscita Le credenziali rimangono sull'agente