DataXPipe
Getting Started

YAML Pipeline Spec for Postgres and Neon: Smoke Test in 10 Minutes

Register a Postgres or Neon pipeline with connections, sources, targets, and freshness checks using DataXPipe YAML — validate in the app and stay within the free tier.

DataXPipe Team
  • yaml
  • postgres
  • neon
  • pipeline-spec
  • getting-started
A female engineer using a laptop while monitoring data servers in a modern server room.
Photo by Christina Morillo on Pexels

Postgres and Neon are the fastest path to a real warehouse connection when evaluating DataXPipe. One YAML spec declares credentials, sources, targets, and checks — then registers everything into your org catalog.

This walkthrough matches the Load example template in the app (neon_smoke_test).

Why connections live in the spec

DataXPipe treats warehouse credentials as part of the pipeline contract:

connections:
  - id: neon_main
    type: postgres
    config:
      host: YOUR-NEON-HOST.neon.tech
      database: neondb
      sslmode: require

sources:
  - id: raw_orders
    type: postgres
    connection_ref: neon_main
    object: public.orders
    load_mode: full

targets:
  - id: mart_orders_daily
    type: postgres
    connection_ref: neon_main
    object: public.mart_orders_daily
    write_mode: append

After registration, connections appear on the Connections page for the org. Sources and targets reference connection_ref instead of duplicating host strings.

Minimal smoke-test spec

pipeline:
  name: neon_smoke_test
  description: Smoke test pipeline
  owner: data-platform
  environment: dev
  schedule: "0 6 * * *"

connections:
  - id: neon_main
    type: postgres
    config:
      host: YOUR-NEON-HOST.neon.tech
      database: neondb
      sslmode: require

sources:
  - id: raw_orders
    type: postgres
    connection_ref: neon_main
    object: public.orders

targets:
  - id: mart_orders_daily
    type: postgres
    connection_ref: neon_main
    object: public.mart_orders_daily

checks:
  - id: freshness_mart
    type: freshness
    target: mart_orders_daily
    max_delay_minutes: 1440

Replace the host with your Neon connection string host. Use sslmode: require for Neon pooler/direct endpoints.

Register in the app

  1. Sign in as platform admin
  2. Upload YAML or Create pipeline
  3. Click Load example or paste the spec above
  4. Validate — fixes schema/semantic errors before register
  5. Register pipeline — watch usage: first register uses 1 of 2 free pipelines

Re-registering the same pipeline.name updates the entry without using another pipeline slot.

Validate before register

Validation checks JSON Schema structure and semantics (required fields, valid references). Developers without register permission can still validate — useful for review before a platform admin registers.

CI can call the same validate endpoint:

curl -X POST https://api.dataxpipe.com/api/v1/specs/validate \
  -H "Content-Type: application/json" \
  -d '{"spec_yaml": "... paste yaml ..."}'

From smoke test to production

StageAction
Smoke testExample spec, dev environment tag
Second pipelineAdd real ingest pipeline with second pipeline.name
SecretsPrefer env-backed secrets in production deploy; document in spec owner field
TeamInvite developers; they validate, admin registers

Free tier limits (honest expectations)

Free includes 2 pipelines and 2 connections. The UI shows quota and blocks registering a third new pipeline name while still allowing updates to existing names.

Upgrade on the Billing page when you outgrow limits.

Open Create pipeline and load the example to try this in your workspace.