How-to guide
Connect BI and analytics tools
Connect Tableau, Power BI, psql, DBeaver, JDBC/ODBC applications and Arrow Flight clients through the PostgreSQL wire and Arrow Flight interfaces, or use REST for API integrations.
Prerequisites
- A Kiwi Fabric user with query permission
- Network access to the PostgreSQL wire port (default 5432) or the Arrow Flight port (default 8815)
Connect Tableau, Power BI, psql, DBeaver, JDBC/ODBC-based applications and Arrow Flight clients to Kiwi Fabric through its PostgreSQL wire protocol and Arrow Flight interfaces. REST is also available for API-based integrations.
All three surfaces serve the same engine. You do not need a separate connector per data source: connect once and query everything you are allowed to see.
PostgreSQL-compatible tools (Tableau, Power BI, psql, DBeaver, JDBC, ODBC)#
Point any PostgreSQL-compatible client at the PostgreSQL wire port (default 5432), using your Kiwi Fabric user name and password.
- Authentication uses the standard SCRAM-SHA-256 handshake (RFC 5802), the same mechanism modern PostgreSQL uses, so tools need no special configuration.
- Tables, virtual tables and capabilities you are permitted to read appear to the tool as ordinary tables.
- Row filters and column masks apply exactly as they do on the REST surface.
psql -h <fabric-host> -p 5432 -U <your-user>
Use the database name your administrator gives you. If you connect through a driver that asks for one, supply it in the usual way.
Python, Spark, Polars and other analytics engines (Arrow Flight SQL)#
For large analytical result sets, use the Arrow Flight SQL surface (default port 8815, gRPC over HTTP/2). Results stream as Apache Arrow record batches with no JSON serialisation, which suits ADBC, Polars, Spark, pandas and DuckDB clients.
Authenticate with gRPC metadata, using either:
Authorization: Bearer <api-key>, orAuthorization: Basic base64(userId:password)
API-based integrations (REST/JSON)#
Applications can use the REST API on port 8080 with an API key. See REST API reference, or use one of the client SDKs for Python, .NET, Java or Node.js.
Create an API key#
kiwi fabric key-add --user analyst1 --name "Tableau server" --expires 2027-01-01
The raw key is shown exactly once. Keys have the form kwf_ followed by random characters, and only a SHA-256 hash is stored.
Tip
Create a dedicated user and key per tool. Per-request telemetry is attributed to the user, so you can see which tool issued which query.
Expected result
- Your tool lists and queries the federated tables