According to this, it seems as though my postgresql database should be being backed up daily, but it isn’t.
I don’t see in the docs where this would be configured, because I’m sure I’ve missed something. Could anyone point me in the right direction?
Hi @littletheorem, if you can share what you’ve tried and what result you saw, it’ll be easier to narrow down the problem.
There’s no configuration to do; daily snapshots are automatic.
Sure thing! Sorry if my approach comes off as pretty basic. I’ve migrated from Heroku – I didn’t find the one-click migration tool to be helpful because it didn’t migrate over my database, so I created an app from “scratch” (i.e. used my same source files but deployed anew on fly).
For the database, I ran:
flyctl pg create --name <my-other-app-name>-db --org personal --region sea --vm-size shared-cpu-1x --initial-cluster-size=1 --volume-size 1
From there I was able to set the env variables in my app to read from the db, so it is working in that regard. But when I go to the volumes tab on the database app I only see one, from the date I created it (Nov 11th).
Edit: When in doubt, turn to flyctl! We’re CLI-first so not all capabilities show up straight away in the web dashboard.
The general Fly.io docs on Postgres snapshot restores are at Backup, Restores, & Snapshots · Fly Docs.
Your one volume should have several daily snapshots to choose from at this point.
Briefly:
Get the volume id with
fly volumes list --app <app-name>
and then armed with that id, do
fly volumes snapshots list <volume-id>
if you want to restore a snapshot to a database, use
fly postgres create --snapshot-id <snapshot-id>
Hope that helps!
1 Like
Thanks for the link and commands! When I run them, I do not see a list of snapshots as I’d expect from the doc you linked. I’m sure my syntax just needs a tweak, but here is what I’m running:
flyctl volumes snapshot list <volume_id_I_copied_from_previous_command>
And what I see:
Commands for managing Fly Volumes associated with an application
Usage:
flyctl volumes [command]
Aliases:
volumes, volume, vol
Available Commands:
create Create new volume for app
delete Delete a volume from the app
extend Extend a target volume
list List the volumes for app
show Show details of an app's volume
snapshots Manage volume snapshots
Flags:
-h, --help help for volumes
Global Flags:
-t, --access-token string Fly API Access Token
-j, --json json output
--verbose verbose output
Use "flyctl volumes [command] --help" for more information about a command.
I’ve tried flyctl volumes snapshot <vol_id>
and flyctl snapshot list <vol_id
but no luck with those.
Try
fly volumes snapshots list <volume-id>
with an “s”
Maybe we should add an alias…
That did the trick! Thank you! I do see all of my daily snapshots now, and I’m confident I could restore from them if need be. I think I just misunderstood volumes =/= snapshots.
1 Like