1. Home
  2. Docs
  3. Connect
  4. Azure Database for PostgreSQL
DOCS

Azure Database for PostgreSQL.

Flexible Server exposes wal_level as a server parameter. Set it, grant replication, allow the address.

Waltail needs three things from Azure: wal_level = logical, a user that is allowed to replicate, and a way to reach the database over the network. Set them up in the steps below. When you paste the connection string in Waltail, the console runs six checks and tells you if anything is still missing.

1. Server parameter

In the flexible server's Server parameters, set wal_level to LOGICAL and save. The server restarts. Leave max_replication_slots and max_wal_senders at their defaults unless other tools use them.

2. User

CREATE ROLE waltail WITH LOGIN PASSWORD '…';
ALTER ROLE waltail WITH REPLICATION;
GRANT CONNECT ON DATABASE app TO waltail;

Run these as the admin user; on Azure the admin can grant the replication attribute directly.

3. Firewall

Add a firewall rule for Waltail's address (or allow the public range you use) and keep require SSL on. Event Hubs and Service Bus are the natural destinations.

Then, in Waltail

  1. Paste the connection string

    Use the direct database host. A transaction-mode pooler (PgBouncer and similar) cannot carry a replication connection, so the reachable check would fail there.

  2. Pick tables

    Choose the tables to stream. A table needs a primary key — or REPLICA IDENTITY FULL or an index identity — for updates and deletes to replicate. The console marks any table that does not qualify and says why.

  3. Add a destination

    Waltail creates a publication and a replication slot on your database (both named pgcdc_<pipeline>) and starts streaming. The quickstart walks through the rest.

Start streaming in minutes.