Recover pending_destroy volumes from accidentally deleted parkwave-db app

I accidentally destroyed our production Legacy Postgres app parkwave-db approximately 15 hours ago.

Organization: Personal
Estimated deletion time: 2026-08-18 13:00 UTC
Region: likely sin

The Usage dashboard still shows three deleted pg_data volumes, each 10 GB, created on May 13, 2026 at 5:47 PM.

The volumes may still be inside the 24-hour pending_destroy window. fly volumes list --all -a parkwave-db cannot retrieve them because the app no longer exists.

Could a Fly engineer urgently preserve or recover these soft-deleted volumes, or provide their volume IDs before permanent purge?

I understand Unmanaged Postgres itself is unsupported; this request is specifically for recovery of Fly App/Volume infrastructure resources.

Hi there, I checked on my side and the app seems to exist with the three volumes in a “created” state. The machines were destroyed, though, but the data should be there. You might be able to get it working with a fly scale count 3 to get 3 new machines which will attach to the currently-orphaned volumes.

Can you share the exact verbatim output you get with fly volumes list --all -a parkwave-db?

Hi, thanks for checking. Here is the exact verbatim output I get:

$ fly volumes list --all -a parkwave-db

ID │ STATE │ NAME │ SIZE │ REGION │ ZONE │ ENCRYPTED │ ATTACHED VM │ CREATED AT
vol_vz85oeen3k72gezv │ created │ pg_data │ 10GB │ sin │ f5d5 │ true │ │ 3 months ago
vol_rnz8xyyy6p2k1opr │ created │ pg_data │ 10GB │ sin │ 7bcd │ true │ │ 3 months ago
vol_rnz8xyyj7kqny91r │ created │ pg_data │ 10GB │ sin │ f1b9 │ true │ │ 3 months ago

Warning: Metrics token unavailable: failed to run query($slug: String!) { organization(slug: $slug) { id internalNumericId slug rawSlug name type billable } }: context canceled

All three volumes are in the “created” state and currently have no attached machines.

Could you please confirm whether it is safe for me to run fly scale count 3 now, and that it will attach the new machines to these existing volumes without reinitializing or overwriting their data?

Hi, volume data won’t be overwritten. fly scale count will create new machines and attach them to existing volumes.

Thanks for confirming. All three volumes are now visible in the “created” state, and each volume still has snapshots available, including snapshots from approximately 20 hours ago.

I’ll then verify that all three machines start correctly, determine the primary/replica status, and validate the database before reconnecting the backend.

Thank you for your help recovering the app and volumes.

Great!

To confirm, one of our engineers did undelete the app and the volumes, though apparently this wasn’t mentioned in this thread, this is why by the time I went to look, they were already undeleted. But it’s all good if you were able to bring it up!

Since no-one has yet mentioned it, is this a good time for you to configure an off-site PG data backup?

Yes, definitely. I’ll set up the off-site PostgreSQL backup today. I’ll update the team once it’s configured and tested.

Super! You also have daily volume snapshots in Fly, and there’s no harm configuring those too, but I think off-site is essential. Perhaps an hourly push to a remote bucket.