Stunning aerial shot of a cracked glacier showcasing icy patterns and natural beauty.
Photo: ArtHouse Studio / Pexels
Product

Three parts. One calm workflow.

An agent that does the careful work, a search screen for your team, and an optional dashboard to see the results. The first two run on your side.

01 / Agent

Moves old rows, carefully.

A small program you run next to your database. It finds old data, copies it to your bucket, checks the copy, and removes rows only when you allow it.

  • Finds the tables and collections with the most old data
  • Previews exactly which rows a rule would move
  • Works in small batches so your database stays responsive
  • Compares each row with the archive before deleting it
  • Resumes safely after a crash or restart
  • Runs on a schedule, or once when you choose
Runs on your servers · Linux, Windows, Docker
# see what could be archived $ coldctl analyze public.orders 412 GB 81% over 2 yrs public.audit_events 188 GB 93% over 1 yr # copy, then check the archive $ coldctl archive run --policy orders-2y ✓ 48,210,004 rows → s3://acme-archive $ coldctl archive verify ✓ 1,212 files match checksums # remove only rows that match the archive $ coldctl archive delete --policy orders-2y ✓ 48,210,004 matching rows removed
02 / Archive Gateway

A search box for the past.

When a customer asks about an old order, your support team should not need to file a ticket with engineering. The Gateway lets approved people find and export archived records in their browser.

  • Filter by any column and open the full record
  • Export to CSV, JSON Lines or Parquet
  • Company sign-in with OpenID Connect
  • Access granted per dataset and per column
  • Searches, record views and downloads are logged
Runs on your servers · reads your bucket
archive.your-company.com
Archive Gateway search screen
03 / ColdCTL Cloud

See the savings, not the data.

An optional dashboard for the whole team. Your agents send a short summary of each job, never the rows themselves, so you can track progress across databases in one place.

  • Status of every job across every agent
  • Table and index size, before and after
  • Measured savings shown apart from estimates
  • Read-only: it cannot start, stop or change jobs
Hosted by us · metadata only · optional
Rows archived48.2MMeasured
Archive written61 GBMeasured
Table size412 → 79 GBMeasured
Monthly saving~$1,140Estimate

Example figures for illustration.

Getting started

Start small. Grow with confidence.

Most teams begin with one large, stable table and run copy and check only. Once the archive looks right in the Gateway, they turn on deletion for that table and add more over time.

Spacious modern library archive with rows of wooden drawers for document storage.
Photo: Tima Miroshnichenko / Pexels
Scenic view of snow-capped mountains and a starry night sky, perfect for landscape enthusiasts.
Photo: Maria Laura Catalogna / Pexels
Early access

Let your database keep only what it needs.

We are working closely with a small group of PostgreSQL teams. Tell us about your largest tables and we will help you run the first archive.