Nijl-logo

Multi-tenant Postgres spreekt PostgreSQL

Verbinden Nijl naar Excel, Google Sheets, AI en REST

Nile — PostgreSQL voor multi-tenant B2B-applicaties. Rapportage omvat alle tenants, wat meestal het doel is.

Eén verbinding, elk oppervlak

Waar uw Nile-gegevens naartoe kunnen gaan

Query Streams leest Nile-gegevens uit Microsoft Excel, Google Sheets, Power BI, AI-assistenten via MCP en een REST-eindpunt via één alleen-lezen verbinding. Nile virtualiseert tenants binnen één PostgreSQL-database in plaats van elke klant een eigen database te geven. Hierdoor bevatten tenant-specifieke tabellen een kolom met de naam `tenant_id` en kan één verbinding ze allemaal benaderen. Uw applicatie beperkt zich tot één tenant tegelijk; een rapportageverbinding doet dat niet, en voor analyses over meerdere klanten is dat precies het gedrag dat u wilt.

Nile is PostgreSQL op het internet. — de standaard driver, dus alle onderstaande handleidingen blijven ongewijzigd van toepassing. Het enige Nile-specifieke onderdeel is de verbindingsreeks, die wordt behandeld onder verbindingsgegevens.

  1. Voor uw team, leveranciers en partners
  2. Nijl naar Excel Microsoft Excel · Excel-invoegtoepassing

    Haal live Nile-resultaten rechtstreeks in een werkblad en vernieuw ze wanneer nodig — in Excel op de desktop, Excel Online en Microsoft 365.

    PostgreSQL-handleiding
  3. Nijl naar Google Sheets Sheets-add-on

    Voer een opgeslagen Nile-query uit vanuit de zijbalk en sleep de rijen naar het spreadsheet. Gedeelde medewerkers kunnen het spreadsheet zelf vernieuwen.

    PostgreSQL-handleiding
  4. Vraag Nova naar de Nijl. Nova AI · tekst naar SQL

    Stel een vraag in begrijpelijke taal. Nova kent je Nile-tabellen al, schrijft en voert de SQL-query's uit, legt het antwoord uit en visualiseert het in een grafiek – je hoeft geen query te schrijven en geen inloggegevens te verstrekken.

    Hoe Nova werkt
  5. Nijl naar gegevensviewer Resultaten delen · team, leveranciers, partners · telefoon, tablet, desktop

    Deel een live Nile-resultaat met wie dan ook – een collega, een leverancier, een partner – als een bladwijzerbaar raster dat opnieuw wordt weergegeven wanneer het wordt geopend, op een telefoon, een tablet of een desktop. Ze zien de resultaten, nooit de SQL-query of de inloggegevens.

    Hoe de gegevensviewer werkt
  6. Voor apps en systemen
  7. Nile REST API HTTP-eindpunt

    Publiceer een Nile-query als een geauthenticeerd JSON-eindpunt dat elke applicatie kan aanroepen, met een OpenAPI 3.1-specificatie en kant-en-klare collecties voor Postman, Insomnia en Hoppscotch. Er wordt geen databasepoort geopend.

    PostgreSQL-handleiding
  8. Nile naar Power BI Power Query M

    Plak de gegenereerde Power Query M in de geavanceerde editor van Power BI en het rapport leest live Nile-resultaten via HTTPS — zonder ODBC-stuurprogramma en zonder geopende databasepoort.

    Hoe Power BI werkt
  9. Nijl naar Airtable Automatiseringsplatform

    Synchroniseer Nile-rijen volgens een schema met een Airtable-database, of haal ze op binnen een Airtable-automatiseringsscript.

    PostgreSQL-handleiding
  10. Nijl naar Baserow Automatiseringsplatform

    Vul een Baserow-tabel in vanuit Nile via het REST-eindpunt — zowel op een zelfgehoste locatie als in de Baserow-cloud.

    PostgreSQL-handleiding
  11. Nijl naar SeaTable Automatiseringsplatform

    Houd een SeaTable-database actueel met Nile-gegevens zonder een bestand te exporteren of de database openbaar te maken.

    PostgreSQL-handleiding
  12. Nile naar Smartsheet Automatiseringsplatform

    Importeer de Nile-resultaten in een Smartsheet-raster, zodat plannen en rapporten rechtstreeks uit het bronsysteem worden gelezen en niet uit de export van vorige week.

    PostgreSQL-handleiding
  13. Nijl naar Anvil Anvil Works · App-platform

    Ondersteun een Anvil Python-app met Nile via het REST-eindpunt in plaats van databasegegevens in de app in te sluiten.

    PostgreSQL-handleiding
  14. Voor AI-tools
  15. Nile MCP-server Claude, Cursor en MCP-klanten

    Geef een AI-assistent alleen-leestoegang tot Nile met het schema dat nodig is om correcte SQL te schrijven — geen inloggegevens in de chat.

    PostgreSQL-handleiding
  16. Bezorgd aan mensen
  17. Nijlwaarschuwingen en -rapporten Slack · Discord · E-mail · Webhook

    Plan een Nile-query in en laat de resultaten naar Slack, Discord, e-mail of een ondertekende webhook verzenden, of wacht met verzenden totdat een bepaald aantal resultaten, een drempelwaarde of een percentageverandering de door u ingestelde grens overschrijdt.

    Hoe waarschuwingen en rapporten werken

Hoe het werkt

5 stappen, geen wijziging van de inkomende firewall

01

Installeer de netwerkagent op een computer met internetverbinding. Deze opent één uitgaande verbinding en luistert nooit, waardoor er geen inkomende firewallregel nodig is.

02

Open in de Nile-console de database, ga vervolgens naar Instellingen en Verbinding en kies de optie PostgreSQL.

03

Genereer een inloggegeven als je er nog geen hebt. Nile toont het wachtwoord eenmalig, dus kopieer het voordat je de pagina verlaat.

04

Plak de verbindingsreeks in het eerste veld. Host, poort, database, gebruikersnaam en wachtwoord worden hieruit afgelezen.

05

Laat SSL ingeschakeld, test en sla op. Lees de gegevens vervolgens vanuit Microsoft Excel, Google Sheets, Power BI, MCP of REST via die ene verbinding.

Diepgaande analyse van de functies

Wat de Nijl je geeft

Eén database, elke gebruiker, één zoekopdracht.

Het model van Nile is het interessante onderdeel van deze connector en verandert de functie van een rapportageverbinding.

  • Nile bewaart alle tenants in één PostgreSQL-database en scheidt ze met een kolom 'tenant_id' in tabellen die specifiek voor de tenant zijn bedoeld, in plaats van elke klant een aparte database of schema te geven.
  • Uw applicatie stelt per verbinding een tenantcontext in en ziet daarom slechts één klant tegelijk. Een Query Streams-verbinding stelt die context niet in, waardoor deze alle klanten tegelijk ziet.
  • Dat maakt rapportage tussen tenants een simpele GROUP BY-bewerking in plaats van een integratieproject. Gebruik per klant, omzet per abonnement of welke accounts deze maand niet zijn ingelogd, alles staat in één overzicht.
  • Dit betekent ook dat u zelf de toegangscontrole kunt ontwerpen. Een verbinding is hier niet gekoppeld aan een tenant, dus als u rapportage per klant nodig hebt, filter dan op tenant_id in de opgeslagen query en deel die query in plaats van de verbinding.
  • Alles wat de agent uitvoert, is alleen-lezen, dus niets hier kan tenantgegevens wijzigen, ongeacht wat de query zegt.
-- Rapportage tussen tenants is een gewone 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;

De inloggegevens worden eenmalig weergegeven en regionale eindpunten zijn gewone PostgreSQL-servers.

Twee praktische tips die het grootste deel van de installatieprocedure behandelen.

  • Nile genereert een inlog-ID als gebruikersnaam en toont het wachtwoord slechts één keer. Als u het wachtwoord kwijtraakt, genereer dan een nieuw wachtwoord in plaats van te proberen het oude te herstellen.
  • De eindpunten zijn regionaal en eindigen op .db.thenile.dev, op de standaardpoort 5432. Er is geen pooler in dit pad en de agent past geen pooler-aanpassingen toe.
  • TLS is vereist en de agent dwingt dit af voor Nile-hostnamen, dus het uitschakelen van het SSL-selectievakje leidt niet tot een onversleutelde verbinding. De certificaatketen wordt niet geverifieerd. — lees dit als bescherming tegen iedereen die het verkeer onderschept, niet als bewijs welke server heeft geantwoord.
  • De geplakte verbindingsreeks wordt verwijderd zodra de velden zijn ingevuld, zodat het wachtwoord op één plek wordt opgeslagen in plaats van op twee.

Gedeeld door elke databaseconnector

Dit geldt voor elke databaseconnector.

  • Alleen uitgaand — De agent opent één versleutelde verbinding naar Query Streams. Geen inkomende poort om door te sturen, geen VPN, geen IP-whitelist, niets van uw database wordt blootgesteld aan het internet.
  • De inloggegevens blijven behouden. — De gebruikersnaam en het wachtwoord van de database bevinden zich op de machine waarop u de agent hebt geïnstalleerd. Query Streams ontvangt deze gegevens nooit en kan uw database dus niet zelfstandig bereiken.
  • Alleen-lezen, afgedwongen — één instructie tegelijk, alleen SELECT en soortgelijke instructies. Een schrijfbewerking wordt op uw eigen machine geweigerd voordat deze naar de server wordt verzonden, in plaats van te vertrouwen op een machtiging die iemand zich herinnerd heeft te hebben ingesteld.
  • Zet zoveel agents in als u wilt. — één per site, regio of cloud. Alle gegevensbronnen die ze kunnen zien, verschijnen in één enkel dropdownmenu, zodat niemand hoeft te weten welke agent wat host.

Dit is wat je krijgt nadat een query is opgeslagen.

  • Deel de mogelijkheden, niet de SQL-code. — Een collega of externe partner kan uw query uitvoeren en de filters ervan wijzigen zonder ooit de onderliggende instructie te zien.
  • Filters uit beide richtingen — declareer ze zelf als @variabelen, of laat de connector de letterlijke waarden herkennen die al in je WHERE-clausule staan en bied die aan als keuzelijsten.
  • Lees het vanaf elke gewenste locatie. — Microsoft Excel, Google Sheets, Power BI, de REST API, AI-assistenten via MCP, de Query Builder en Nova lezen allemaal dezelfde opgeslagen query.
  • Voer er meerdere tegelijk uit — vijf opgeslagen zoekopdrachten in vijf werkbladtabbladen, die gelijktijdig worden weergegeven, ongeacht de omvang van de resultaten.
  • Verbind het met alles wat je al hebt aangesloten. — een andere database, een zakelijke API of een map met bestanden, in één alleen-lezen instructie.

Cross-source SQL

Voeg Nile toe aan de rest van je gegevens.

Eén statement kan tegelijkertijd Nile en uw andere verbindingen omvatten. Elke bron voert alleen het deel uit dat het aankan, streamt het resultaat terug en de samenvoeging vindt centraal plaats — de bronnen communiceren nooit met elkaar en er wordt niets gekopieerd.

3 verbindingen · 3 agenten

Nijl Multi-tenant Postgres
Microsoft SQL Server Relationele engine
Streep Betalingen en facturering

Eén verklaring

-- niets gekopieerd, niets samengevoegd, niets ingepland
SELECT   c.region, COUNT(*) AS orders, SUM(i.amount_due) AS invoiced
VAN     nile_app.openbare.bevelen1  f
JOIN     erp_sql.dbo.customers2   c ON c.id = f.customer_id
JOIN     facturering.stripe.facturen3 i ON i.customer = c.stripe_id
GROEP DOOR c.regio
ORDER BY gefactureerd DESC;

De drie onderdelen zijn de verbinding, het schema en de tabel — en de verbindingsnaam is wat je er zelf aan hebt gegeven. Illustratieve kolommen; je tabellen zullen je eigen tabellen zijn. Alleen-lezen is van toepassing op elk onderdeel: alleen SELECT, WITH en EXPLAIN, met een limiet op hoeveel gegevens een bron mag vrijgeven voor een enkele query. Hoe werken gefedereerde query's?

Verbindingsgegevens

Wat de Nijl nodig heeft

Gastheer
<regio>.db.thenile.dev
Haven
5432
Bestuurder
Npgsql wordt door de agent meegeleverd — er hoeft niets aan de Nile-kant geïnstalleerd te worden.
Plakformaat
De tekenreeks uit Database, Instellingen, Verbinding, PostgreSQL — als een postgres:// URI
Gebruikersnaam
De gegenereerde inloggegevens-ID uit de console, niet een e-mailadres.
TLS
Vereist en afgedwongen voor Nile-hostnamen. Versleuteld; de certificaatketen wordt niet geverifieerd.
Samenvoegen
Geen. De agent past geen pooler-aanpassingen toe voor Nile.
Huurdersbereik
Er is geen tenantcontext ingesteld, dus de verbinding ziet alle tenants. Filter op tenant_id in de query wanneer dat nodig is.
Opgeslagen als
PostgreSQL, met Nile als badge.
Standaardschema
openbaar, wat een gefedereerde referentie met zich meedraagt

Nile is met name interessant als rapportagedoelwit vanwege wat het hier níét doet. De tenantisolatie die het bruikbaar maakt om op voort te bouwen, wordt per verbinding door de applicatie toegepast wanneer deze een tenantcontext instelt. Een rapportageverbinding die nooit een context instelt, omzeilt geen controle, maar gebruikt de database zoals het model bedoeld is voor een operator die het volledige systeem wil kunnen overzien.

Het praktische gevolg hiervan is dat de beslissing over de reikwijdte verschuift naar de query zelf in plaats van naar de verbinding. Door een tenant_id-filter toe te voegen aan een opgeslagen query en die query te delen, krijg je een weergave met klantspecifieke scope zonder dat iemand de verbinding hoeft te delen. Dit is hetzelfde patroon dat Query Streams overal elders gebruikt: deel de mogelijkheid om iets uit te voeren, niet de bijbehorende inloggegevens.

Voor een query over meerdere bronnen is Nile een gewone PostgreSQL-database. Een verbinding die je nile_app noemt, wordt geschreven als nile_app.public.orders en maakt in één alleen-lezen statement verbinding met een map met CSV-bestanden, een lokaal systeem voor gegevensregistratie of een facturerings-API — zonder dat er iets wordt gekopieerd of gepland.

Leveranciersdocumentatie: www.thenile.dev

Veelgestelde vragen

Vragen over de Nijl

Welke tools kunnen Nile-gegevens lezen via Query Streams?

Alles via één verbinding: Excel, Google Sheets, MCP, REST API, Airtable, Baserow, SeaTable, Smartsheet, Anvil, Power BI, geplande meldingen en rapporten. Verbind de database één keer en elk apparaat leest dezelfde alleen-lezen verbinding — er is geen configuratie per tool nodig en er wordt geen tweede kopie van de gegevens gemaakt.

Moet ik een firewallpoort openen naar mijn Nile-database?

Nee. De Query Streams Network Agent draait binnen uw netwerk en opent één versleutelde uitgaande verbinding. Er wordt niets afgeluisterd voor inkomend verkeer, er is geen VPN nodig en de database behoudt de bestaande firewallregels.

Kan Query Streams gegevens in Nile wijzigen?

Nee. De agent zorgt ervoor dat alleen-lezen is toegestaan tijdens de uitvoering — één instructie tegelijk, alleen SELECT en soortgelijke instructies. De inloggegevens blijven op de agent en worden nooit naar Query Streams verzonden.

Wat heeft Query Streams nodig om verbinding te maken met Nile?

Een bereikbare host, een rol en het bijbehorende wachtwoord — de agent bevat het stuurprogramma, dus er hoeft niets op de database te worden geïnstalleerd. Host: <regio>.db.thenile.dev. Poort: 5432. Stuurprogramma: Npgsql, meegeleverd door de agent — er hoeft niets aan de Nile-kant te worden geïnstalleerd. Plakformaat: De tekenreeks uit Database, Instellingen, Verbinding, PostgreSQL — als een postgres:// URI.

Kan ik Nile in dezelfde query koppelen aan een andere database?

Ja, dat is een gefedereerde query. Eén statement kan tegelijkertijd verwijzen naar Nile en uw andere verbindingen, geschreven als connection.schema.table. Elke bron voert alleen het deel uit dat het aankan en streamt het resultaat terug; de join vindt centraal plaats, waardoor de bronnen nooit met elkaar verbinding maken en er niets wordt gekopieerd of gepland. Alleen-lezen is van toepassing op elk onderdeel — alleen SELECT, WITH en EXPLAIN — en er is een limiet aan hoeveel gegevens een bron voor een enkele query mag vrijgeven. Gefedereerde queries zijn een functie van het abonnement; op de pagina met gefedereerde queries vindt u de huidige limieten voor bronnen en groottes.

Is de verbinding met Nile anders dan de verbinding met PostgreSQL?

Alleen de verbindingsreeks. Nile gebruikt het PostgreSQL-protocol, dus filters, planning, delen, de Excel- en Google Sheets-add-ons en de MCP-server werken allemaal identiek. De Nile-kaart vult de host-, poort- en SSL-instellingen die de provider verwacht, automatisch in.

Is er een Nile naar Excel-handleiding?

Ja, het is de PostgreSQL-handleiding en die is correct voor Nile zoals die is beschreven. Nile gebruikt het PostgreSQL-protocol, dus de verbindingen tussen Nile en Excel, Google Sheets en alle andere bestemmingen volgen dezelfde stappen. Het enige Nile-specifieke onderdeel is de verbindingsreeks, en de Nile-handleiding vult die voor je in.

Plaats Nile daar waar het werk gebeurt

Installeer de agent, koppel deze aan uw database en kies een bestemming.

Alleen-lezen Alleen uitgaand De inloggegevens blijven bij de agent.