Beautiful iceberg reflecting in the calm waters of Greenland under a clear blue sky.
Photo: Chris Spain / Pexels
✦Now in early access for PostgreSQL teams

Shrink your database. Keep your history.

ColdCTL moves old rows out of your production database into your own cloud storage, checks every one, and only then frees up the space. When someone needs an old record, it is one search away.

Runs in your infrastructure Archives in your bucket Every row verified before delete
Move data from
PostgreSQLMySQLMongoDB→Amazon S3Azure BlobGoogle Cloud Storage
The problem

Most of your database is history.

Orders from three years ago, closed tickets, old logs. Nobody touches them, but you pay for them on every query, every backup and every upgrade.

Bills grow with the table

Bigger tables mean bigger instances and more storage, month after month.

Everything gets slower

Backups, restores, index builds and migrations all take longer than they should.

Deleting feels too risky

So the old data stays, because nobody wants to explain a missing record later.

Modern server rack with blue lighting in a secure data center environment.
Photo: panumas nikhomkhai / Pexels
A typical orders tableIllustrative
Used every dayRarely or never read
How it works

Five careful steps. You stay in control.

The first four steps never change your database. Deleting is a separate switch you turn on when you trust the archive.

1

Find

Scan your database and see which tables hold the most old data.

Database untouched
2

Plan

Pick a rule, like “orders older than two years”. Preview the rows first.

Database untouched
3

Copy

Old rows are written to your bucket as open Parquet files, in small batches.

Database untouched
4

Check

Every file is verified against a checksum before anything else happens.

Database untouched
5

Remove

Only when you turn it on: rows are deleted after matching the archive one by one.

You opt in
Afterwards, anyone with access can search the archive in a browser.
Archive Gateway

Old records, one search away.

A simple search screen that runs on your side. Look up an order from 2023, open the full record, or export a list to CSV, JSON or Parquet.

archive.your-company.com
ColdCTL Archive Gateway showing a search for order 1042 in an archived orders table

Sign in with your company login

Single sign-on through your identity provider. Sessions expire on their own.

People only see what they should

Grant access per dataset and per column. New columns stay hidden until you allow them.

Every file is traceable

Each result shows which job archived it and when, so you can trust what you are looking at.

Why teams choose ColdCTL

Built for the people who get paged.

Database teams care less about features than about not losing data. Everything in ColdCTL starts from that.

Your storage, your keys

Archives go to your own Amazon S3, Azure Blob or Google Cloud Storage bucket. We never hold a copy.

Checked before it is deleted

Each row is compared with the archive inside the delete itself. If anything differs, nothing is removed.

Search old records in a browser

Support and finance teams can find, view and export archived records without asking an engineer.

Open files, no lock-in

Archives are plain Parquet. Read them with DuckDB, Spark, Athena or any tool you already use.

Safe to stop and restart

Work runs in small batches with checkpoints. If a job is interrupted, it picks up where it left off.

See what you saved

Track rows moved and table size before and after. Measured numbers are kept apart from estimates.

Where your data lives

Your data never leaves home.

The work happens on your servers. Our cloud dashboard is optional and only sees a summary.

Your infrastructure

Everything that touches real data

Your databasePostgreSQL, MySQL or MongoDB, wherever it runs.
ColdCTL agentFinds, copies, checks and removes old rows.
Your bucketS3, Azure Blob or Google Cloud Storage.
Archive GatewaySearch screen for your team, behind your login.
ColdCTL Cloud

A dashboard, nothing more

  • Job status, row counts and sizes
  • Space saved per table
  • Never sees rows, passwords or file paths
  • Cannot run commands on your agent
Compared with what you do today

Less risk than a script. More freedom than a vendor.

Option
The trade-off
With ColdCTL
Keep scaling the database
No project, but bills, backups and maintenance windows keep growing.
A smaller database that is cheaper to run, faster to back up and quicker to maintain.
Home-grown scripts
Free and familiar, but deletes are rarely verified and nobody can search what was moved.
Row-by-row checks before deletion, resumable jobs, an audit trail and a search screen.
A database vendor’s archive
One click, but it works for one engine and the data sits in the vendor’s storage.
Works across PostgreSQL, MySQL and MongoDB, and archives live in your own bucket.
Questions

The things people ask first.

Does ColdCTL ever see my data?

No. The agent runs on your servers, reads your database and writes to your bucket. The optional ColdCTL Cloud dashboard only receives job metadata such as table names, row counts and status. It cannot run commands on your agent.

What happens if a row changes while it is being archived?

Deletion is the last step and it is off by default. When it runs, each row is compared with what was written to the archive. If a row does not match, the whole batch is rolled back and the source is left as it was.

Which databases and clouds are supported?

PostgreSQL, MySQL 8.4 and MongoDB 8.0 replica sets. Archives can go to Amazon S3 or any S3-compatible store, Azure Blob Storage, Google Cloud Storage or a local disk. We are starting early access with PostgreSQL.

Can I get archived data back?

Yes. Search and export records from the Archive Gateway in your browser, or restore rows into a separate database with the command-line tool. Because the files are Parquet, you can also query them directly.

How do I install it?

The agent is a single binary for Linux and Windows, and there is a Docker setup for Linux. Database connectors are installed separately and are signed, so you only add what you need.

Is it ready for production?

ColdCTL is in early access. We are qualifying it with design partners on real PostgreSQL workloads before general release, and we will help you start with a safe, bounded trial.

Read the documentation

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.