Waddler <> Xata

This guide assumes familiarity with:

According their official website, Xata is a Postgres data platform with a focus on reliability, scalability, and developer experience. The Xata Postgres service is currently in beta, please see the Xata docs on how to enable it in your account.

Waddler natively supports both the xata driver with waddler/xata package and the postgres or pg drivers for accessing a Xata Postgres database.

Step 1 - Install packages

npm
yarn
pnpm
bun
npm i waddler @xata.io/client

You can use Waddler with Xata with a HTTP client or a TCP client. The HTTP client doesn’t create a persistent connection to the Xata server, while the TCP client does and can be used for better performance with a higher number of requests. The HTTP client is usually recommended from serverless environments like Cloudflare Workers or Vercel Edge Functions. The TCP client is typically used from long-running servers like Express.js or Fastify.

The following example use the Xata generated client, which you obtain by running the xata init CLI command.

HTTP
TCP
TCP (pool)
import { waddler } from 'waddler/xata-http';
import { getXataClient } from './xata'; // Generated client

const xata = getXataClient();
const sql = waddler({ client: xata });

const result = await sql`select 1;`;

If you prefer to not use the generated Xata client, it is also possible to use Xata with the postgres or pg drivers, in this case you can copy the connection string from the Settings page of your Xata database. For more information, please check our PostgreSQL connections section