Preflight is fast and non-destructive — it stores no credentials and creates nothing. It prints a pass/fail checklist and a Grant script with the exact SQL for your database and schemas.
Using Claude Code or Cursor? It can do the checks for you
Using Claude Code or Cursor? It can do the checks for you
With the ardent-cli skill installed, a short ask is enough — the skill fetches this page and runs the checks:Without the skill, paste the full directions:
1
Allow inbound from Ardent
Ardent connects from a static outbound IP for your environment. If your network restricts inbound traffic, allow that IP on the Postgres port, usually After editing Or from the shell:
5432. Ask your Ardent contact for the current outbound IP if you don’t have it.Make sure ssl = on and pg_hba.conf accepts both regular SQL sessions and logical replication sessions from Ardent. Postgres treats them as different connection types, so both lines matter:pg_hba.conf, reload Postgres — a reload is enough, no restart needed:pg_ctl reload -D <datadir> (or sudo systemctl reload postgresql on systemd installs).Hostnames must resolve to an IPv4 address. IPv6-only hosts are not supported today.2
Enable logical replication
Check the current values first:Ardent needs Prefer doing it by hand? Run the
wal_level = logical, at least one free replication slot, and enough WAL sender capacity for Ardent plus anything else already replicating from your database. If your existing values are higher than Ardent’s minimums, keep the higher values.ALTER SYSTEM SET only accepts a literal value, not an expression — so ALTER SYSTEM SET max_wal_senders = 10 on a server that already has 20 (say, for existing standbys) would lower it on the next restart and could start refusing those standbys. This block raises each setting only when it’s below Ardent’s minimum:SHOW queries above and only change the settings whose values are below 10.3
Install the wal2json output plugin
Ardent reads changes through the If your session is interrupted after the create statement, run the drop manually before continuing — an unconsumed logical slot retains WAL indefinitely and can fill the disk. Verify cleanup:No rows should come back.
wal2json logical-decoding plugin. Install the package matching your Postgres major version:- Debian and Ubuntu:
postgresql-<major>-wal2json - RHEL family:
wal2json_<major>
4
Create the Ardent role
GRANT CREATE ON DATABASE lets Ardent create its own pgstream bookkeeping schema and publication. It does not grant write access to your application schemas.For each schema you want replicated, run inside the matching database:ALTER DEFAULT PRIVILEGES lines keep future tables and sequences visible to replication. They only apply to objects created by the role that ran the ALTER — if your application creates tables as another role, repeat them with FOR ROLE:5
Run preflight until it passes
is writerfails — the URL points at a read replica. Use the writable primary.wal levelfails — enable logical replication and restart Postgres.wal2jsonunverified or failed — install the plugin, or ask Ardent to confirm provider support.can read tablesfails — run the generated grant script.duplicate sourcefails — this database is already connected. Runardent connector list.