DEV Community

Aravin
Aravin

Posted on

Backup Concepts

This is Part 6 of the BigAnimal in PostgreSQL series.

๐Ÿ‘‰ Previous: Access Model

In EDB BigAnimal, backups are fully managed, but we can view, configure, and trigger them manually if needed. Hereโ€™s how you can take and manage backups step-by-step

1. Open Backup Section

  • Go to the BigAnimal Console
  • Click Clusters โ†’ Select your cluster
  • From the top tabs, choose Backups

2. View Backup Configuration

On the Backups page, will see:

  • Automatic backup schedule โ€” usually daily (default retention: 7โ€“30 days)
  • Last backup status โ€” Success, Failed, or In progress
  • Retention policy
  • Backup type โ€” Full or Incremental

BigAnimal automatically performs continuous backups using WAL archiving + snapshots (depending on the cloud provider).

3. Take Manual Backup

To trigger an on-demand backup, follow these steps:

  1. Go to Clusters โ†’ Backups
  2. Click Create Backup
  3. Choose:
    • Backup type: Full
    • Description (optional)
  4. Click Start Backup

The status will appear as โ€œRunningโ€ until the backup process is complete.

4. CLI Method (Optional)

If we use the BigAnimal CLI, we can trigger a manual backup like this:

biganimal backup create --cluster-id <cluster_id> --description "Manual backup before upgrade"
Enter fullscreen mode Exit fullscreen mode

To check progress:

biganimal backup list --cluster-id <cluster_id>
Enter fullscreen mode Exit fullscreen mode

5. Restore from Backup

To restore (Point-in-Time or Full):

biganimal cluster restore --cluster-id <cluster_id> --backup-id <backup_id>
Enter fullscreen mode Exit fullscreen mode

We can also do this via the Console โ†’ Backups โ†’ Restore.

6. Verify Backups

In the Console โ†’ Backups tab, you can view:

  • Last backup time & duration
  • Result (Success/Failure)
  • Backup ID
  • Size
  • Restore option

Table Backup and Restore

In PostgreSQL / EDB BigAnimal, backups are typically cluster- or database-level, but you can absolutely take a specific table backup and restore it using standard PostgreSQL tools like pg_dump and psql โ€” even inside BigAnimal.

1. Using pg_dump (Recommended)

pg_dump -h <hostname> -p 5432 -U <username> -d <database_name> -t <schema_name.table_name> -Fc -f table_backup.dump
Enter fullscreen mode Exit fullscreen mode

Restore the Table Backup

Use pg_restore to restore into the same or another database.

pg_restore -h <hostname> -p 5432 -U <username> -d <database_name> -t <schema_name.table_name> table_backup.dump
Enter fullscreen mode Exit fullscreen mode

If the table already exists, you can:

  • Drop it before restore, or
  • Use the --clean flag to automatically drop & recreate it:
pg_restore --clean -t public.orders -d salesdb orders_table_backup.dump
Enter fullscreen mode Exit fullscreen mode

2. Export as SQL File (Plain Text)

pg_dump -h <hostname> -U <username> -d <database_name> -t public.orders -Fp -f orders_table_backup.sql
Enter fullscreen mode Exit fullscreen mode

Then restore:

psql -h <hostname> -U <username> -d <database_name> -f orders_table_backup.sql
Enter fullscreen mode Exit fullscreen mode

This method is simpler but slower for very large tables.

3. Using EDB BigAnimal Console

BigAnimalโ€™s web console does not yet support per-table backup โ€”
But We can:

  • Connect to your cluster via pgAdmin or psql
  • Run the above pg_dump command from your local terminal
  • Store the .dump file securely (e.g., S3 or Azure Blob)

Optional: Backup with Data Filter
We can even export only certain rows:

pg_dump -h mycluster.biganimal.io -U edb -d salesdb \
  -t public.orders --data-only \
  --where="order_date >= '2025-01-01'" \
  -Fc -f recent_orders.dump
Enter fullscreen mode Exit fullscreen mode

Verification
To verify whatโ€™s inside the dump file:

pg_restore -l table_backup.dump
Enter fullscreen mode Exit fullscreen mode

This lists the contents (schema, table, indexes, etc.).

Top comments (0)