Migration, recovery, pipelines, monitoring, and automation

Move database workloads forward with the source, destination, schedule, and recovery boundary in view

Plan PostgreSQL migrations, backup and restore jobs, Flowr pipelines, Data Watchers, and scheduled Workflows from one operational workspace.

Migration
Source to destination
Recovery
Backup, restore, and cron
Pipelines
Query, Python, destination
Automation
Watchers and workflows

Data operations can be destructive or consequential. Confirm the source, target, destination, schedule, permissions, and tested recovery path before enabling or running work.

Data Tools / operational overview

Keep consequential data work visible before it runs.

Illustrative interfaceNo live execution

Review the path, destination, schedule, and boundary for migration, recovery, delivery, monitoring, and recurring database operations.

PostgreSQL transfer

Move data between PostgreSQL servers.

Review a server-to-server transfer before copying selected schemas and records to a target database.

Preview only

Server-to-server transfer path

Source / reporting-postgres
Target / warehouse-postgres
Schema / public
Mode / copy
State / review
Source
reporting-postgres
Target
warehouse-postgres
Scope
public.orders, public.customers
Execution
No live transfer

Data Tools brings migration, recovery, data movement, monitoring, and scheduled query work into one team-scoped operating surface. Each workflow should make its source, destination, schedule, and current status available for review before it changes data or sends an output.

Choose the operation by its boundary

Use PG Migration when a PostgreSQL or CockroachDB database needs to move to a new server or target. Use backup and restore jobs when a recovery artifact and its target must be explicit. Use Flowr when a source query needs a transformation and a destination. Use Data Watchers when database changes should trigger a webhook, and Workflows when a query should run on a schedule and optionally send its result to a configured channel.

The workspace does not replace review of credentials, database permissions, storage controls, destination ownership, webhook recipients, or the recovery procedure your team has tested.

Make the operating record useful

Give each operation a clear owner and preserve the choices that determine its effect. A connection name, database target, schedule, destination, and execution record make it easier to explain what ran and what needs investigation when a job, pipeline, watcher, or workflow behaves unexpectedly.

Use the linked product workspaces to configure and inspect live work. The diagrams on this page are illustrative and do not execute a migration, backup, restore, pipeline, watcher, or scheduled query.

Review the latest execution state before acting on a prior run's outcome.

Database tools / PG migration

Move a PostgreSQL database to the server or target you choose.

Illustrative interface

Sample connections, one-time transfer settings, job history, and logs. Controls are disabled.

Source connection

primary-postgres

PostgreSQL / billing

Destination connection

new-production-postgres

PostgreSQL / billing_next

Transfer configuration

Schema and data move together by default.

Scope
Schema + data
Mode
Manual / one-time
Available options
Data only · Schema only

Job progress and history

Every transfer keeps its run record.

Current job

production refresh

Completed · 3/3 stages
source verified: primary-postgres/billing
schema copied: public
data copied: 18 tables
job completed
  • production refreshCompletedSep 02, 10:2403m 18s3 log entries
  • staging bootstrapCompletedSep 01, 16:0801m 42s4 log entries

Operating boundary

PG Migration transfers database schema and data between selected connections for a server move or a new target setup. It is a transfer workflow, not a versioned SQL change-management workflow.

Move a PostgreSQL database to a new target

PG Migration is a source-to-destination transfer workflow for PostgreSQL or CockroachDB schema and data. It is for server moves and new destination setups: select the source connection, the destination connection, and the database names, then choose the scope that fits the move.

The migration configuration supports schema-only or data-only selection, so the transfer boundary is visible rather than implied. Confirm that the source and destination are different, that each database name is correct, and that the destination can accept the selected data before creating the job.

Treat a server move as a cutover plan

A completed transfer is not by itself a cutover. Review application connections, database roles, extensions, data consistency, and the path to return to the previous system before directing production traffic to a new target. Keep the source and destination identified in the run record so later operators can investigate the result.

Warning: A migration can create, replace, or duplicate database objects and data at its destination. Confirm the selected source, destination, scope, permissions, and validation plan before starting it.

Validate the destination after transfer

Check the destination with the application workloads that matter, not only with the migration job status. Compare expected schemas and records, confirm required roles and connections, and retain an approved cutover window. If a target must be rebuilt, record which source and destination were used so the recovery decision remains reviewable.

Backup and restore / operations workspace

Run a backup now, prepare a restore, or schedule the next database backup.

Illustrative interface

Three operating modes share connection details, storage records, job logs, downloads, and history. Sample controls are disabled.

Connection

primary-postgres

Storage destination

operations-archive

Scheduled backup cron

0 2 * * *

01 / Backups

On-demand backup

Completed
DATABASE
primary
DESTINATION
operations-archive
OPTIONS
database: primary

Job log

backup started
archive written
job completed

Available backup

primary-illustrative.dump

02 / Restores

Restore to a named target

Select a target connection and backup before creating a restore job.

TARGET
primary-postgres
BACKUP
pre-schema-change.dump
OPTIONS
CLEAN, IF EXISTS

Destructive target warning

Review the selected target and clean options. A restore can replace or remove data on its target.

Restore history

  • primary-postgresPendingReady to trigger
  • analytics-stagingCompletedJob record available

03 / Scheduled backups

Repeat the backup on cron

A scheduled job keeps the connection, destination, cron expression, and backup options together.

CONNECTION
primary-postgres
CRON
0 2 * * *
STATUS
SCHEDULED

Backup history

  • primary-illustrative.dumpCompletedDownload available
  • pre-schema-change.dumpCompletedDownload available

Operating boundary

No point-in-time recovery, encryption, automatic restore validation, retention enforcement, or RTO/RPO guarantee is implied by this interface. Test the recovery path you operate.

Schedule backups and create restores as explicit recovery jobs

A backup schedule pairs a connection, storage destination, and cron expression. The job record makes the selected destination, schedule, recent run state, logs, and completed backup downloads available for inspection. Use those records to review what was configured and what completed; do not treat a visible record as a proof that every recovery requirement has been met.

A restore is a one-time recovery job. Select the backup, target connection, and PostgreSQL-oriented options before creating it. Options such as clean, IF EXISTS, and create database can change the effect at the target, so they require the same review as the target itself.

Recovery has a destructive boundary

Warning: A restore can replace or remove data and schema on its selected target. Confirm the backup source, target connection, restore options, permissions, and a tested recovery path before creating the job.

Set backup schedules only where the storage destination, credentials, cron expression, and retention process are understood by the operators who own them. Test the backup and restore procedure against the systems and failure cases that matter to your team. This interface does not imply point-in-time recovery, encryption, automatic restore validation, retention enforcement, or RTO/RPO guarantees.

Review completed work before relying on it

Use job logs and available downloads to inspect a completed backup or restore. Those records are useful evidence for an operator, but they do not replace a restore test against the destination and failure mode that the team expects to support. Keep the test environment and the recovery scope with the operating record.

Data Tools / Flowr builder

Make each delivery step inspectable.

Illustrative interface

daily-users-sync

01 / source

primary-postgres

app.users

02 / transform

Python transform

row mapping

03 / destination

warehouse

analytics.daily_users

04 / schedule

Weekdays / 08:00

custom cron / UTC

Source editor

primary-postgres / app

PostgreSQL
SELECT
  id,
  email,
  created_at
FROM app.users
WHERE created_at >= CURRENT_DATE - INTERVAL '1 day';
Preview-only builderNo live execution or network request

Build a Flowr pipeline from query to destination

Flowr builds a source -> transform -> destination pipeline. Start with a query on a selected source connection and use its preview schema as the input to a Python transform. The transform returns fields for the destination rather than changing the source query's result in place.

Choose a database connection and table as the destination, with append or replace behavior, or configure an HTTP destination with its URL and headers. Review the target table or HTTP endpoint, destination mode, batch settings, and retry settings before records leave the source or change shape.

Run a pipeline one time, or select a recurring frequency including a custom cron schedule and timezone. Pipeline run logs make completed or failed work inspectable, but they do not prove that a downstream table or HTTP service accepted every intended record.

Check a pipeline before it becomes recurring work

Preview the source query before using its columns in a transform. Then confirm whether the destination is append or replace, who owns its database table or HTTP endpoint, and whether the configured schedule fits the intended operating window. Recheck run logs after changes to source schemas, transformation code, or destination contracts.

Open Flowr

Data tools / watcher

Describe the change, then make delivery visible.

Illustrative interface

A sample watcher setup with a delivery trail. The controls below are disabled and do not create watchers, send webhooks, or expose a destination.

Trigger-based table monitoring. Table watchers use database triggers to observe selected operations; trigger availability depends on the connected database and its permissions.

The optional filter is a SQL WHERE clause that limits which table rows trigger notifications.

Webhook delivery

A configured destination receives watcher events.

Destination redacted

Sample controls disabled · Test webhook is available after a watcher is saved

Watch changes with table or query boundaries

Data Watchers provide two modes. A table watcher uses database triggers to detect selected insert, update, or delete changes. A query watcher polls a SELECT query and detects when its results change; it is more flexible, but it has a polling interval with a 30-second minimum.

For table watchers, select the schema and table, choose the change types to watch, and optionally add a SQL WHERE-clause filter. For query watchers, review the query and polling interval. In both modes, configure the webhook URL, HTTP method, and optional headers for the recipient that should receive the event.

Batching is optional: it groups multiple events before a webhook is sent, with configurable batch size and interval. It is not a guarantee that every downstream recipient will accept, process, or deduplicate each event. Limit filters, webhook destinations, and batching settings to the records and recipients intended.

Keep notification scope narrow

Table trigger monitoring is immediate for the selected changes; query monitoring checks for changed results on its configured interval. Choose the mode for that difference, then test the exact webhook receiver with the filters and batching configuration that will be enabled. A watcher event record helps with investigation, but it does not replace downstream delivery monitoring.

Open Data Watchers

Data Tools / automated workflows

Run a saved query on a schedule, then inspect what happened.

Illustrative workflow

A workflow keeps a query, connection, schedule, and its run record together. Output delivery is optional and uses configured destinations.

Disabled preview · no live scheduling or delivery

01

Query

Saved SQL + connection

02

Schedule

Hourly, daily, weekly, monthly, or custom cron

03

Run

Execution record + limited result data

04

Optional output

Configured channel or exported result

Mode A · scheduled query only

Run and retain the execution record.

No notification destination is selected. The workflow can run its configured query; its status, timing, result count, and failure details remain available for review.

Mode B · report or response

Add a configured output destination.

A workflow can be configured with a Slack channel, email address, or Discord webhook. Delivery settings are separate from query execution.

Slack channelEmailDiscord webhook

Operating boundary

This illustration does not guarantee a particular schedule cadence, delivery to a configured channel, or the correctness of a query result or report. Review execution history and the destination configuration for the workflow you operate.

Schedule query runs and configure result delivery

Workflows run a selected database query on an hourly, daily, weekly, or monthly schedule. The schedule configuration shows the frequency, timezone, time or day where relevant, and generated cron expression so the expected run time can be checked before the workflow is saved.

Result delivery is optional and only uses channels configured for the workflow: a Slack workspace and channel, an email address, or a Discord webhook URL. Configure the channel and recipient deliberately; enabling a workflow does not establish that an external channel is available, authorized, or monitored.

Review the selected connection, query, schedule, delivery channel, and recipients before enabling the workflow. Inspect execution records after it runs, especially when a report is used as an input to a decision or operational response.

Match the schedule to the recipient

Confirm the workflow timezone and cadence alongside the recipient's operational window. A Slack channel must be selected from a configured workspace, email needs a deliberate address, and Discord delivery uses a configured webhook URL. Change recipients or timing with the same care as changing the underlying query.

Open Workflows

Consequential operations / guardrails

Put the warning next to the operation, not after it.

These sample prompts do not execute work. They make the target, operating boundary, and recovery responsibility visible before a destructive step.

  1. 01

    Migration

    Confirm the PostgreSQL source, target, selected migration, and direction before starting.

  2. 02

    Restore / recovery

    Confirm the backup, destination, and recovery plan before a restore changes the selected database.

  3. 03

    Flowr

    Review each destination and transformation before records leave or change shape.

  4. 04

    Watcher

    Limit watcher filters and webhook destinations to the records and recipients intended.

  5. 05

    Workflow

    Confirm the schedule, delivery channel, and recipients before the workflow is enabled.

Final check

A visible job record is not a recovery guarantee. Confirm permissions, source and target, destinations, schedules, and a tested recovery path for the environment you operate.

Keep consequential work reviewable

Data Tools is designed to show the state around consequential operations, not to make them safe by default. A migration job, backup record, restore history, pipeline log, watcher event, or workflow execution is evidence about a workflow. It is not a substitute for checking the source, target, recipient, and resulting database state.

Operating checklist

  1. Identify the source, destination, target, schedule, and owner for the operation.
  2. Confirm database permissions, storage access, destination controls, webhook recipients, and query or transform behavior.
  3. Review destructive options, filters, batching, and delivery settings before enabling or running work.
  4. Inspect job results, logs, and downstream outcomes afterward.
  5. Keep a tested recovery and rollback plan for systems where data loss or downtime would be consequential.

When an operation crosses a database, storage system, HTTP endpoint, or notification channel, the owner of each boundary should be clear before the work begins. Stop for review when the source, target, filter, schedule, recipient, or recovery behavior is uncertain.

Open the relevant workspace

Bring the question, the work, and the answer into one governed workspace.