Nil-Logo

Multi-Tenant Postgres spricht PostgreSQL

Verbinden Nil zu Excel, Google Sheets, KI und REST

Nile – Postgres für mandantenfähige B2B-Anwendungen. Die Berichtsfunktion berücksichtigt alle Mandanten, was in der Regel der Sinn der Sache ist.

Eine Verbindung, jede Oberfläche

Wohin Ihre Nile-Daten gelangen können

Query Streams liest Daten aus Microsoft Excel, Google Sheets, Power BI, KI-Assistenten über MCP und einem REST-Endpunkt über eine einzige Leseverbindung. Nile virtualisiert Mandanten in einer einzigen Postgres-Datenbank, anstatt jedem Kunden eine eigene Datenbank zuzuweisen. Daher enthalten mandantenfähige Tabellen eine Spalte `tenant_id`, und eine einzige Verbindung kann auf alle Mandanten zugreifen. Ihre Anwendung beschränkt sich jeweils auf einen Mandanten; eine Berichtsverbindung hingegen nicht. Für kundenübergreifende Analysen ist genau dieses Verhalten erwünscht.

Nile ist PostgreSQL im Netzwerk — der Standardtreiber, daher gelten alle nachfolgenden Anleitungen unverändert. Der einzige Nile-spezifische Teil ist die Verbindungszeichenfolge, die unter [Link einfügen] behandelt wird. Verbindungsdetails.

  1. Für Ihr Team, Ihre Lieferanten und Partner
  2. Nile to Excel Microsoft Excel · Excel-Add-in

    Live-Ergebnisse von Nile direkt in ein Arbeitsblatt importieren und bei Bedarf aktualisieren – Desktop-Excel, Excel Online, Microsoft 365.

    PostgreSQL-Leitfaden
  3. Nile zu Google Sheets Tabellen-Add-on

    Führen Sie eine gespeicherte Nile-Abfrage aus der Seitenleiste aus und ziehen Sie die Zeilen in das Tabellenblatt. Gemeinsame Mitarbeiter können es selbst aktualisieren.

    PostgreSQL-Leitfaden
  4. Frag Nova nach Nile Nova AI · Text zu SQL

    Stellen Sie Ihre Frage in einfachem Englisch. Nova kennt Ihre Nile-Tabellen bereits, schreibt und führt die SQL-Abfrage aus, erklärt die Antwort und stellt sie grafisch dar – Sie müssen keine Abfrage schreiben und keine Zugangsdaten angeben.

    So funktioniert Nova
  5. Nile zum Datenbetrachter Ergebnispräsentation · Team, Lieferanten, Partner · Smartphone, Tablet, Desktop

    Teilen Sie ein Live-Ergebnis von Nile mit beliebigen Personen – Kollegen, Lieferanten, Partnern – als Lesezeichen speichernde Tabelle, die beim Öffnen auf einem Smartphone, Tablet oder Desktop-Computer immer neu angezeigt wird. Die Empfänger sehen die Ergebnisse, niemals die SQL-Abfrage oder die Zugangsdaten.

    So funktioniert der Datenbetrachter
  6. Für Apps und Systeme
  7. Nile REST-API HTTP-Endpunkt

    Veröffentlichen Sie eine Nile-Abfrage als authentifizierten JSON-Endpunkt, den jede Anwendung aufrufen kann, mit einer OpenAPI 3.1-Spezifikation und vorgefertigten Sammlungen für Postman, Insomnia und Hoppscotch. Es wird kein Datenbankport geöffnet.

    PostgreSQL-Leitfaden
  8. Nil zu Power BI Power Query M

    Fügen Sie die generierte Power Query M in den Power BI Advanced Editor ein, und der Bericht liest Live-Nile-Ergebnisse über HTTPS – ohne ODBC-Treiber, ohne geöffneten Datenbankport.

    So funktioniert Power BI
  9. Nile zu Airtable Automatisierungsplattform

    Synchronisieren Sie Nile-Zeilen zeitgesteuert mit einer Airtable-Datenbank oder rufen Sie sie innerhalb eines Airtable-Automatisierungsskripts ab.

    PostgreSQL-Leitfaden
  10. Nil nach Baserow Automatisierungsplattform

    Eine Baserow-Tabelle wird über den REST-Endpunkt von Nile gespeist – entweder selbst gehostet oder in der Baserow-Cloud.

    PostgreSQL-Leitfaden
  11. Vom Nil zum SeaTable Automatisierungsplattform

    Halten Sie eine SeaTable-Datenbank mit Nile-Daten auf dem neuesten Stand, ohne eine Datei zu exportieren oder die Datenbank preiszugeben.

    PostgreSQL-Leitfaden
  12. Nile zu Smartsheet Automatisierungsplattform

    Die Ergebnisse von Push Nile werden in ein Smartsheet-Raster übertragen, sodass Pläne und Berichte aus dem Quellsystem und nicht aus dem Export der letzten Woche gelesen werden.

    PostgreSQL-Leitfaden
  13. Vom Nil zum Anboss Anvil Works · App-Plattform

    Eine Anvil Python-App mit Nile über den REST-Endpunkt absichern, anstatt Datenbankzugangsdaten in die App einzubetten.

    PostgreSQL-Leitfaden
  14. Für KI-Tools
  15. Nile MCP-Server Claude-, Cursor- und MCP-Clients

    Gewähren Sie einem KI-Assistenten Lesezugriff auf Nile mit dem Schema, das er benötigt, um korrekten SQL-Code zu schreiben – keine Anmeldeinformationen im Chat.

    PostgreSQL-Leitfaden
  16. An Personen geliefert
  17. Nilwarnungen und -berichte Slack · Discord · E-Mail · Webhook

    Richten Sie eine Nile-Abfrage ein und lassen Sie sich die Zeilen an Slack, Discord, per E-Mail oder über einen signierten Webhook zustellen – oder halten Sie die Nachricht zurück, bis eine bestimmte Zeilenanzahl, ein Schwellenwert oder eine prozentuale Änderung den von Ihnen festgelegten Wert überschreitet.

    So funktionieren Benachrichtigungen und Berichte

So funktioniert es

5 Schritte, keine Änderung der eingehenden Firewall

01

Installieren Sie den Netzwerkagenten auf einem Rechner mit Internetzugang. Er öffnet eine ausgehende Verbindung und lauscht nicht, daher ist keine eingehende Firewall-Regel erforderlich.

02

Öffnen Sie in der Nile-Konsole die Datenbank, dann Einstellungen und Verbindung und wählen Sie die Option PostgreSQL.

03

Generieren Sie Anmeldeinformationen, falls Sie noch keine haben. Nile zeigt das Passwort nur einmal an, daher sollten Sie es kopieren, bevor Sie die Seite verlassen.

04

Fügen Sie die Verbindungszeichenfolge in das erste Feld ein. Host, Port, Datenbank, Benutzername und Passwort werden daraus ausgelesen.

05

Lassen Sie SSL aktiviert, testen Sie die Einstellungen und speichern Sie die Daten. Lesen Sie die Daten über diese eine Verbindung aus Microsoft Excel, Google Sheets, Power BI, MCP oder per REST-Schnittstelle.

Funktionsanalyse

Was der Nil dir gibt

Eine Datenbank, jeder Mandant, eine Abfrage

Das interessanteste an diesem Konnektor ist das Modell von Nile, und es verändert die Einsatzmöglichkeiten einer Reporting-Verbindung.

  • Nile verwaltet alle Mandanten in einer einzigen Postgres-Datenbank und trennt sie mithilfe einer tenant_id-Spalte in mandantenfähigen Tabellen, anstatt jedem Kunden eine separate Datenbank oder ein separates Schema zuzuweisen.
  • Ihre Anwendung legt für jede Verbindung einen Mandantenkontext fest und sieht daher jeweils nur einen Kunden. Eine Query-Streams-Verbindung legt diesen Kontext nicht fest und sieht daher alle Kunden gleichzeitig.
  • Dadurch wird die mandantenübergreifende Berichterstellung durch eine einfache GROUP BY-Abfrage vereinfacht und ein Integrationsprojekt überflüssig. Nutzung pro Kunde, Umsatz nach Tarif oder die Konten, die sich diesen Monat nicht angemeldet haben – all das wird in einer einzigen Übersicht dargestellt.
  • Das bedeutet auch, dass Sie die Zugriffskontrolle selbst gestalten können. Eine Verbindung ist hier nicht auf einen Mandanten beschränkt. Wenn Sie also kundenbezogene Berichte benötigen, filtern Sie die gespeicherte Abfrage nach der Mandanten-ID und geben Sie diese Abfrage anstelle der Verbindung weiter.
  • Alles, was der Agent ausführt, ist schreibgeschützt, sodass hier nichts die Mandantendaten verändern kann, unabhängig davon, was die Abfrage besagt.
-- Mandantenübergreifende Berichterstattung ist eine gewöhnliche 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;

Die Anmeldeinformationen werden nur einmal angezeigt, und regionale Endpunkte sind gewöhnliche Postgres-Endpunkte.

Zwei praktische Hinweise, die den Großteil dessen abdecken, was bei der Einrichtung zu beachten ist.

  • Nile generiert eine Anmeldeinformations-ID als Benutzernamen und zeigt das zugehörige Passwort nur einmal an. Sollten Sie es verlieren, generieren Sie ein neues, anstatt zu versuchen, das alte wiederherzustellen.
  • Die Endpunkte sind regional und enden auf .db.thenile.dev, auf dem Standardport 5432. In diesem Pfad gibt es keinen Pooler, und der Agent nimmt keine Pooler-Anpassungen vor.
  • TLS ist erforderlich und wird vom Agenten für Nile-Hostnamen erzwungen. Daher führt das Deaktivieren des SSL-Kontrollkästchens nicht zu einer unverschlüsselten Verbindung. Die Zertifikatskette wird nicht überprüft. — Lesen Sie es als Schutz vor dem Mitlesen des Datenverkehrs, nicht als Beweis dafür, welcher Server geantwortet hat.
  • Die eingefügte Verbindungszeichenfolge wird verworfen, sobald die Felder ausgefüllt sind, sodass das Passwort nur noch an einer Stelle und nicht mehr an zwei Stellen gespeichert wird.

Wird von jedem Datenbank-Connector gemeinsam genutzt.

Gilt für jeden Datenbank-Connector.

  • Nur ausgehend Der Agent öffnet eine einzige verschlüsselte Verbindung zu Query Streams. Es wird kein eingehender Port weitergeleitet, kein VPN verwendet, keine IP-Zulassungsliste verwendet und Ihre Datenbank wird nicht im Internet offengelegt.
  • Die Zugangsdaten bleiben erhalten. — Benutzername und Passwort der Datenbank befinden sich auf dem Rechner, auf dem der Agent installiert wurde. Query Streams empfängt diese Daten nicht und kann daher nicht selbstständig auf Ihre Datenbank zugreifen.
  • Schreibgeschützt, erzwungen — Nur eine Anweisung gleichzeitig, ausschließlich SELECT und ähnliche Optionen. Ein Schreibvorgang wird auf Ihrem Rechner abgelehnt, bevor er an den Server gesendet wird, anstatt sich auf eine von jemandem gesetzte Berechtigung zu verlassen.
  • Setzen Sie beliebig viele Agenten ein. — eine pro Standort, Region oder Cloud. Alle sichtbaren Datenquellen werden in einem einzigen Dropdown-Menü angezeigt, sodass niemand wissen muss, welcher Agent welche Daten hostet.

Was Sie erhalten, sobald eine Abfrage gespeichert wurde

  • Teilen Sie die Funktionalität, nicht die SQL-Anweisung. — Ein Kollege oder ein externer Partner kann Ihre Abfrage ausführen und deren Filter ändern, ohne jemals die dahinterstehende Anweisung zu sehen.
  • Filter aus beiden Richtungen — Deklarieren Sie sie selbst als @Variablen oder lassen Sie den Konnektor die bereits in Ihrer WHERE-Klausel vorhandenen Literalwerte erkennen und diese als Dropdown-Listen anbieten.
  • Lesen Sie es von überall aus — Microsoft Excel, Google Sheets, Power BI, die REST-API, KI-Assistenten über MCP, der Query Builder und Nova lesen alle dieselbe gespeicherte Abfrage.
  • Mehrere gleichzeitig ausführen — fünf gespeicherte Abfragen in fünf Tabellenblattregisterkarten, die gleichzeitig abgearbeitet werden, unabhängig von der Größe der Ergebnisse.
  • Verbinde es mit allem anderen, was du verbunden hast. — eine andere Datenbank, eine Business-API oder einen Ordner mit Dateien in einer einzigen schreibgeschützten Anweisung.

Quellübergreifendes SQL

Verbinde Nile mit deinen übrigen Daten

Eine einzige Anweisung kann Nile und Ihre anderen Verbindungen gleichzeitig umfassen. Jede Quelle führt nur den von ihr verarbeitbaren Teil aus, streamt das Ergebnis zurück, und die Zusammenführung erfolgt zentral – die Quellen kommunizieren nie miteinander, und es werden keine Kopien an andere Stellen angefertigt.

3 Verbindungen · 3 Agenten

Nil Multi-Tenant Postgres
Microsoft SQL-Server Relationale Maschine
Streifen Zahlungen & Rechnungsstellung

Eine Aussage

– nichts kopiert, nichts zusammengeführt, nichts geplant
SELECT   c.region, COUNT(*) AS orders, SUM(i.amount_due) AS invoiced
VON     nile_app.public.orders1  f
JOIN     erp_sql.dbo.customers2   c ON c.id = f.customer_id
JOIN     Abrechnung.stripe.invoices3 i ON i.customer = c.stripe_id
GROUP BY c.region
ORDER BY in Rechnung gestellte Beschreibung;

Die drei Bestandteile sind Verbindung, Schema und Tabelle – der Verbindungsname ist der von Ihnen gewählte. Die Spalten dienen nur der Veranschaulichung; Ihre Tabellen entsprechen Ihren tatsächlichen Tabellen. Der Schreibschutz gilt für alle Komponenten: Nur SELECT, WITH und EXPLAIN sind zulässig, und es gibt eine Obergrenze für die Datenmenge, die eine einzelne Datenquelle pro Abfrage übermitteln darf. Wie föderierte Abfragen funktionieren

Verbindungsdetails

Was Nil braucht

Gastgeber
<region>.db.thenile.dev
Hafen
5432
Treiber
Npgsql wird vom Agenten bereitgestellt – am Nile-Ende ist keine Installation erforderlich.
Format einfügen
Die Zeichenkette aus Datenbank, Einstellungen, Verbindung, PostgreSQL — als postgres:// URI
Benutzername
Die von der Konsole generierte Anmeldeinformations-ID, keine E-Mail-Adresse.
TLS
Für Nile-Hostnamen erforderlich und durchgesetzt. Verschlüsselt; die Zertifikatskette wird nicht überprüft.
Pooling
Keine. Der Agent wendet keine Pooler-Anpassungen für Nile an.
Mieterumfang
Da kein Mandantenkontext festgelegt ist, sieht die Verbindung alle Mandanten. Filtern Sie die Abfrage nach tenant_id, wenn Sie einen bestimmten Mandanten benötigen.
Gespeichert als
PostgreSQL, wobei Nile als Abzeichen beibehalten wurde
Standardschema
öffentlich, was eine föderierte Bezugnahme beinhaltet

Nile ist als Reporting-Ziel besonders deshalb interessant, weil es hier bestimmte Funktionen nicht erfüllt. Die Mandantenisolierung, die die Grundlage für zukünftige Entwicklungen bildet, wird pro Verbindung von der Anwendung beim Festlegen eines Mandantenkontexts angewendet. Eine Reporting-Verbindung, die keinen solchen Kontext festlegt, umgeht keine Kontrollmechanismen – sie nutzt die Datenbank so, wie es das Modell für einen Operator vorsieht, der den gesamten Bestand einsehen muss.

Die praktische Konsequenz ist, dass die Entscheidung über den Gültigkeitsbereich in die Abfrage und nicht in die Verbindung verlagert wird. Durch Hinzufügen eines tenant_id-Filters zu einer gespeicherten Abfrage und deren Freigabe erhält man eine kundenbezogene Ansicht, ohne die Verbindung preiszugeben. Dies entspricht dem Muster, das Query Streams überall verwendet: die Möglichkeit zur Ausführung einer Funktion freigeben, nicht die zugehörigen Anmeldeinformationen.

Für eine quellenübergreifende Abfrage verhält sich Nile wie gewöhnliches Postgres. Eine von Ihnen benannte Verbindung namens nile_app wird als nile_app.public.orders geschrieben und verknüpft einen Ordner mit CSV-Dateien, ein lokales Datensystem oder eine Abrechnungs-API in einer einzigen Lese-Anweisung – ohne dass Daten kopiert oder geplant werden.

Herstellerdokumentation: www.thenile.dev

Häufig gestellte Fragen

Fragen zum Nil

Welche Tools können Nile-Daten über Query Streams lesen?

Alle Anwendungen – Excel, Google Sheets, MCP, REST-API, Airtable, Baserow, SeaTable, Smartsheet, Anvil, Power BI, geplante Benachrichtigungen und Berichte – werden über eine einzige Verbindung bereitgestellt. Die Datenbankverbindung wird einmalig hergestellt, und alle Anwendungen greifen auf dieselbe schreibgeschützte Verbindung zu – es ist keine separate Einrichtung pro Tool und keine Datenkopie erforderlich.

Muss ich einen Firewall-Port für meine Nile-Datenbank öffnen?

Nein. Der Query Streams Network Agent läuft innerhalb Ihres Netzwerks und öffnet eine einzige verschlüsselte ausgehende Verbindung. Es wird kein eingehender Datenverkehr überwacht, ein VPN ist nicht erforderlich und die Datenbank behält ihre bestehenden Firewall-Regeln bei.

Können Abfrageströme Daten in Nile verändern?

Nein. Der Agent erzwingt zum Zeitpunkt der Ausführung den Lesezugriff – es wird jeweils nur eine Anweisung ausgeführt, beispielsweise SELECT-Anweisungen. Die Anmeldeinformationen verbleiben auf dem Agenten und werden niemals an Abfrageströme gesendet.

Was benötigt Query Streams, um eine Verbindung zu Nile herzustellen?

Ein erreichbarer Host, eine Rolle und deren Passwort – der Agent trägt den Treiber, daher ist keine Installation auf der Datenbank erforderlich. Host: <region>.db.thenile.dev. Port: 5432. Treiber: Npgsql, vom Agenten bereitgestellt – keine Installation auf Nile-Seite. Format einfügen: Die Zeichenkette aus Datenbank, Einstellungen, Verbindung, PostgreSQL – als postgres://-URI.

Kann ich Nile in derselben Abfrage mit einer anderen Datenbank verknüpfen?

Ja, das ist eine föderierte Abfrage. Eine einzige Anweisung kann Nile und Ihre anderen Verbindungen gleichzeitig referenzieren, geschrieben als Verbindung.Schema.Tabelle. Jede Quelle führt nur den Teil aus, den sie verarbeiten kann, und streamt das Ergebnis zurück. Der Join erfolgt zentral, sodass die Quellen sich nicht untereinander verbinden und nichts kopiert oder eingeplant wird. Der Schreibschutz gilt nur für SELECT, WITH und EXPLAIN. Außerdem ist die Datenmenge, die eine Quelle für eine einzelne Abfrage übermitteln darf, begrenzt. Föderierte Abfragen sind eine Funktion des Abonnementplans. Die Seite für föderierte Abfragen zeigt die aktuellen Quell- und Größenbeschränkungen an.

Unterscheidet sich die Verbindung von Nile von der Verbindung von PostgreSQL?

Lediglich die Verbindungszeichenfolge. Nile verwendet das PostgreSQL-Protokoll, daher verhalten sich Filter, Zeitplanung, Freigabe, die Excel- und Google Sheets-Add-ons sowie der MCP-Server identisch. Die Nile-Karte füllt die vom Anbieter erwarteten Host-, Port- und SSL-Einstellungen automatisch aus.

Gibt es eine Anleitung zur Umwandlung von Nile in Excel?

Ja, es handelt sich um die PostgreSQL-Anleitung, und sie ist für Nile in der beschriebenen Form korrekt. Nile verwendet das PostgreSQL-Protokoll, daher sind die Schritte für die Verbindung von Nile zu Excel, Nile zu Google Sheets und allen anderen Zielen identisch. Der einzige Nile-spezifische Bestandteil ist die Verbindungszeichenfolge, die von der Nile-Karte automatisch ausgefüllt wird.

Setzen Sie Nile dort ein, wo die Arbeit stattfindet.

Installieren Sie den Agenten, verweisen Sie ihn auf Ihre Datenbank und wählen Sie ein Ziel aus.

Schreibgeschützt Nur ausgehend Die Zugangsdaten bleiben beim Agenten.